Skip to content

Commit 8748385

Browse files
committed
fix compatibility with middleman 4, add appraisal gem and features for middleman versions >= 3.1, kick rspec, test only ruby >= 2.0 in travis
1 parent fa015f9 commit 8748385

22 files changed

+166
-39
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
Gemfile.lock
2+
gemfiles/*.gemfile.lock

.travis.yml

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
language: ruby
22
rvm:
3-
- 1.9
43
- 2.0
54
- 2.1
6-
- jruby
5+
- 2.2
6+
- 2.3
7+
gemfile:
8+
- gemfiles/middleman_3.1.gemfile
9+
- gemfiles/middleman_3.2.gemfile
10+
- gemfiles/middleman_3.3.gemfile
11+
- gemfiles/middleman_3.4.gemfile
12+
- gemfiles/middleman_3_stable.gemfile
13+
- gemfiles/middleman_4.0.gemfile
14+
- gemfiles/middleman_4.1.gemfile
15+
- gemfiles/middleman_master.gemfile

Appraisals

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
appraise 'middleman_3.1' do
2+
gem 'middleman', '~> 3.1.0'
3+
end
4+
5+
appraise 'middleman_3.2' do
6+
gem 'middleman', '~> 3.2.0'
7+
end
8+
9+
appraise 'middleman_3.3' do
10+
gem 'middleman', '~> 3.3.0'
11+
end
12+
13+
appraise 'middleman_3.4' do
14+
gem 'middleman', '~> 3.4.0'
15+
end
16+
17+
appraise 'middleman_3_stable' do
18+
gem 'middleman', github: 'middleman/middleman', branch: 'v3-stable'
19+
end
20+
21+
appraise 'middleman_4.0' do
22+
gem 'middleman', '~> 4.0.0'
23+
end
24+
25+
appraise 'middleman_4.1' do
26+
gem 'middleman', '~> 4.1.0'
27+
end
28+
29+
appraise 'middleman_master' do
30+
gem 'middleman', github: 'middleman/middleman'
31+
end

Guardfile

-6
This file was deleted.

Rakefile

+8-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
require 'rspec/core/rake_task'
1+
require 'bundler'
2+
Bundler::GemHelper.install_tasks
23

3-
RSpec::Core::RakeTask.new(:spec)
4+
require 'cucumber/rake/task'
45

5-
task default: :spec
6+
Cucumber::Rake::Task.new(:features) do |config|
7+
config.cucumber_opts = 'features --format pretty --backtrace'
8+
end
9+
10+
task default: :features

features/navbar.feature

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Feature: Rendering the navbar
2+
Scenario: The navbar is rendered successfully
3+
Given the Server is running at "app"
4+
When I go to "/index.html"
5+
Then I should see '<nav class="navbar navbar-default" role="navigation">'

features/support/env.rb

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
PROJECT_ROOT_PATH = File.dirname(File.dirname(File.dirname(__FILE__)))
2+
3+
require 'middleman-core'
4+
require 'middleman-core/step_definitions'
5+
require File.join(PROJECT_ROOT_PATH, 'lib', 'middleman-bootstrap-navbar')

fixtures/app/config.rb

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
::BootstrapNavbar.configure do |config|
2+
config.bootstrap_version = '3.0.0'
3+
end
4+
5+
activate :bootstrap_navbar

fixtures/app/source/index.html.erb

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<%= navbar %>

gemfiles/middleman_3.0.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 3.0.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_3.1.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 3.1.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_3.2.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 3.2.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_3.3.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 3.3.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_3.4.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 3.4.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_3_stable.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", :github => "middleman/middleman", :branch => "v3-stable"
6+
7+
gemspec :path => "../"

gemfiles/middleman_4.0.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 4.0.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_4.1.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", "~> 4.1.0"
6+
7+
gemspec :path => "../"

gemfiles/middleman_master.gemfile

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org/"
4+
5+
gem "middleman", :github => "middleman/middleman"
6+
7+
gemspec :path => "../"

lib/middleman-bootstrap-navbar.rb

+3-15
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,9 @@
11
require_relative 'middleman-bootstrap-navbar/version'
22

33
require 'bootstrap-navbar'
4-
BootstrapNavbar.configure do |config|
5-
config.current_url_method = 'current_page.url'
6-
end
74

8-
module Middleman
9-
module BootstrapNavbar
10-
class << self
11-
def registered(app, options = {}, &block)
12-
::BootstrapNavbar.configure(&block) if block_given?
13-
app.helpers ::BootstrapNavbar::Helpers
14-
end
15-
alias :included :registered
16-
end
17-
end
5+
::BootstrapNavbar.configure do |config|
6+
config.current_url_method = 'current_page.url'
187
end
198

20-
require 'middleman-core/extensions' unless defined?(Middleman::Extensions)
21-
Middleman::Extensions.register :bootstrap_navbar, Middleman::BootstrapNavbar
9+
require_relative 'middleman-bootstrap-navbar/extension'
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
require 'middleman-core'
2+
require 'middleman-core/version'
3+
4+
module Middleman
5+
module BootstrapNavbar
6+
if Middleman::VERSION.split('.').first.to_i == 3
7+
module Extension
8+
class << self
9+
def registered(app, options = {}, &block)
10+
::BootstrapNavbar.configure(&block) if block_given?
11+
app.helpers ::BootstrapNavbar::Helpers
12+
end
13+
alias :included :registered
14+
end
15+
end
16+
else
17+
class Extension < Extension
18+
def initialize(app, options_hash = {}, &block)
19+
super
20+
::BootstrapNavbar.configure(&block) if block_given?
21+
end
22+
23+
helpers ::BootstrapNavbar::Helpers
24+
end
25+
end
26+
end
27+
end
28+
29+
Middleman::Extensions.register :bootstrap_navbar, Middleman::BootstrapNavbar::Extension

middleman-bootstrap-navbar.gemspec

+4-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# encoding: utf-8
2-
31
lib = File.expand_path('../lib', __FILE__)
42
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
53

@@ -22,9 +20,10 @@ Gem::Specification.new do |gem|
2220
gem.require_paths = ['lib']
2321

2422
gem.add_development_dependency 'rake'
25-
gem.add_development_dependency 'rspec', '~> 2.13'
26-
gem.add_development_dependency 'guard-rspec', '~> 3.0'
23+
gem.add_development_dependency 'appraisal'
24+
gem.add_development_dependency 'cucumber', '~> 2.3'
25+
gem.add_development_dependency 'aruba', '~> 0.14'
2726

2827
gem.add_runtime_dependency 'bootstrap-navbar', '~> 2.0'
29-
gem.add_runtime_dependency 'middleman-core', '>= 3.0'
28+
gem.add_runtime_dependency 'middleman', '>= 3.1'
3029
end

spec/spec_helper.rb

-8
This file was deleted.

0 commit comments

Comments
 (0)