spinach 0.1.5.3 → 0.1.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm --create use 1.9.2@spinach
1
+ rvm --create use 1.9.3@spinach
data/README.markdown CHANGED
@@ -24,7 +24,7 @@ Start by adding spinach to your Gemfile:
24
24
 
25
25
  group :test do
26
26
  gem 'spinach'
27
- # along with gem 'minitest' or gem 'rspec'
27
+ # gem 'rspec'
28
28
  end
29
29
 
30
30
  Spinach works out-of-the-box with your favorite test suite, but you can also
@@ -136,15 +136,15 @@ after any feature, scenario or step execution.
136
136
 
137
137
  So, for example, you could:
138
138
 
139
- Spinach.before_scenario do |data|
139
+ Spinach.hooks.before_scenario do |data|
140
140
  clear_database
141
141
  end
142
142
 
143
- Spinach.on_successful_step do |step_data, location|
143
+ Spinach.hooks.on_successful_step do |step_data, location|
144
144
  count_steps(step_data)
145
145
  end
146
146
 
147
- Spinach.after_run do |status|
147
+ Spinach.hooks.after_run do |status|
148
148
  send_mail if status == 0
149
149
  end
150
150
 
@@ -161,8 +161,29 @@ Use [spinach-rails](http://github.com/codegram/spinach-rails)
161
161
 
162
162
  Check out our [spinach-sinatra demo](https://github.com/codegram/spinach-sinatra-demo)
163
163
 
164
+ ## Resources
165
+
166
+ * [Landing page](http://codegram.github.com/spinach)
167
+ * [Slides](http://codegram.github.com/spinach-presentation)
168
+ * [Blog post](http://blog.codegram.com/2011/10/how-to-achieve-more-clean-encapsulated-modular-step-definitions-with-spinach)
169
+ * [API Documentation](http://rubydoc.info/github/codegram/spinach/master/frames)
170
+ * [Google group](https://groups.google.com/forum/#!forum/spinach_bdd)
171
+
172
+ ### Related gems
173
+
174
+ * [guard-spinach](http://github.com/codegram/guard-spinach)
175
+ * [spinach-rails](http://github.com/codegram/spinach-rails)
176
+
177
+ ### Demos
178
+
179
+ * [spinach rails demo](https://github.com/codegram/spinach-rails-demo)
180
+ * [spinach sinatra demo](https://github.com/codegram/spinach-sinatra-demo)
181
+
182
+
164
183
  ## Contributing
165
184
 
185
+ * [List of spinach contributors](https://github.com/codegram/spinach/contributors)
186
+
166
187
  You can easily contribute to Spinach. Its codebase is simple and
167
188
  [extensively documented][documentation].
168
189
 
@@ -7,3 +7,8 @@ Feature: RSpec compatibility
7
7
  Given I have a feature with some failed expectations
8
8
  When I run "spinach" with rspec
9
9
  Then I should see the failure count along with their messages
10
+
11
+ Scenario: RSpec with capybara
12
+ Given I have a sinatra app with some capybara-based expectations
13
+ When I run "spinach" with rspec
14
+ Then there should be no error
@@ -25,13 +25,56 @@ class RSpecCompatibility < Spinach::FeatureSteps
25
25
  # joking!
26
26
  end
27
27
  end')
28
+ @feature = 'feature_with_failures'
28
29
  end
29
30
 
30
31
  When "I run \"spinach\" with rspec" do
31
- run_feature 'features/feature_with_failures.feature', suite: :rspec
32
+ @feature =
33
+ run_feature "features/#{@feature}.feature", suite: :rspec
32
34
  end
33
35
 
34
36
  Then "I should see the failure count along with their messages" do
35
37
  check_error_messages(1)
36
38
  end
39
+
40
+ Given 'I have a sinatra app with some capybara-based expectations' do
41
+ write_file("features/support/app.rb", '
42
+ require "sinatra"
43
+ require "spinach/capybara"
44
+ app = Sinatra::Application.new do
45
+ get "/" do
46
+ \'Hello world!\'
47
+ end
48
+ end
49
+ Capybara.app = app
50
+ ')
51
+
52
+ write_file('features/greeting.feature',
53
+ 'Feature: Greeting
54
+
55
+ Scenario: Greeting
56
+ Given I am on the front page
57
+ Then I should see hello world
58
+ ')
59
+
60
+ write_file('features/steps/greeting.rb',
61
+ 'require "spinach/capybara"
62
+ class Greeting < Spinach::FeatureSteps
63
+ include Spinach::FeatureSteps::Capybara
64
+
65
+ Given "I am on the front page" do
66
+ visit "/"
67
+ end
68
+
69
+ Then "I should see hello world" do
70
+ page.should have_content("Hello world")
71
+ end
72
+ end')
73
+ @feature = 'greeting'
74
+ end
75
+
76
+ Given 'There should be no error' do
77
+ last_exit_status.must_equal 0
78
+ end
79
+
37
80
  end
@@ -7,6 +7,11 @@ module Integration
7
7
  def self.included(base)
8
8
  Spinach.hooks.before_scenario do
9
9
  @aruba_timeout_seconds = 6
10
+ if respond_to?(:in_current_dir)
11
+ in_current_dir do
12
+ run "rm -fR rails_app"
13
+ end
14
+ end
10
15
  end
11
16
  end
12
17
 
@@ -24,6 +24,11 @@ module Spinach
24
24
  def self.included(base)
25
25
  base.class_eval do
26
26
  include ::Capybara::DSL
27
+ if defined?(RSpec)
28
+ require 'rspec/matchers'
29
+ require 'capybara/rspec'
30
+ include ::Capybara::RSpecMatchers
31
+ end
27
32
  end
28
33
  Spinach.hooks.before_scenario do
29
34
  ::Capybara.current_session.reset! if ::Capybara.app
data/lib/spinach/hooks.rb CHANGED
@@ -10,7 +10,7 @@ module Spinach
10
10
  # Runs before the entire spinach run
11
11
  #
12
12
  # @example
13
- # Spinach.before_run do
13
+ # Spinach.hooks.before_run do
14
14
  # # Whatever
15
15
  # end
16
16
  hook :before_run
@@ -18,7 +18,7 @@ module Spinach
18
18
  # Runs after the entire spinach run
19
19
  #
20
20
  # @example
21
- # Spinach.after_run do |status|
21
+ # Spinach.hooks.after_run do |status|
22
22
  # # status is true when the run is successful, false otherwise
23
23
  # end
24
24
  hook :after_run
@@ -26,7 +26,7 @@ module Spinach
26
26
  # Runs before every feature,
27
27
  #
28
28
  # @example
29
- # Spinach.before_feature do |feature_data|
29
+ # Spinach.hooks.before_feature do |feature_data|
30
30
  # # feature_data is a hash of the parsed feature data
31
31
  # end
32
32
  hook :before_feature
@@ -34,7 +34,7 @@ module Spinach
34
34
  # Runs after every feature
35
35
  #
36
36
  # @example
37
- # Spinach.after_feature do |feature_data|
37
+ # Spinach.hooks.after_feature do |feature_data|
38
38
  # # feature_data is a hash of the parsed feature data
39
39
  # end
40
40
  hook :after_feature
@@ -42,7 +42,7 @@ module Spinach
42
42
  # Runs when an undefined feature is found
43
43
  #
44
44
  # @example
45
- # Spinach.on_undefined_feature do |feature_data, exception|
45
+ # Spinach.hooks.on_undefined_feature do |feature_data, exception|
46
46
  # # feature_data is a hash of the parsed feature data
47
47
  # # exception contains the thrown exception
48
48
  # end
@@ -51,7 +51,7 @@ module Spinach
51
51
  # Runs before every scenario
52
52
  #
53
53
  # @example
54
- # Spinach.before_scenario do |scenario_data|
54
+ # Spinach.hooks.before_scenario do |scenario_data|
55
55
  # # feature_data is a hash of the parsed scenario data
56
56
  # end
57
57
  hook :before_scenario
@@ -59,7 +59,7 @@ module Spinach
59
59
  # Runs after every scenario
60
60
  #
61
61
  # @example
62
- # Spinach.after_scenario do |scenario_data|
62
+ # Spinach.hooks.after_scenario do |scenario_data|
63
63
  # # feature_data is a hash of the parsed scenario data
64
64
  # end
65
65
  hook :after_scenario
@@ -67,7 +67,7 @@ module Spinach
67
67
  # Runs before every step execution
68
68
  #
69
69
  # @example
70
- # Spinach.before_step do |step_data|
70
+ # Spinach.hooks.before_step do |step_data|
71
71
  # # step_data contains a hash with this step's data
72
72
  # end
73
73
  hook :before_step
@@ -75,7 +75,7 @@ module Spinach
75
75
  # Runs after every step execution
76
76
  #
77
77
  # @example
78
- # Spinach.before_step do |step_data|
78
+ # Spinach.hooks.before_step do |step_data|
79
79
  # # step_data contains a hash with this step's data
80
80
  # end
81
81
  hook :after_step
@@ -83,7 +83,7 @@ module Spinach
83
83
  # Runs after every successful step execution
84
84
  #
85
85
  # @example
86
- # Spinach.on_successful_step do |step_data, location|
86
+ # Spinach.hooks.on_successful_step do |step_data, location|
87
87
  # # step_data contains a hash with this step's data
88
88
  # # step_location contains a string indication this step definition's
89
89
  # # location
@@ -93,7 +93,7 @@ module Spinach
93
93
  # Runs after every failed step execution
94
94
  #
95
95
  # @example
96
- # Spinach.on_failed_step do |step_data, location|
96
+ # Spinach.hooks.on_failed_step do |step_data, location|
97
97
  # # step_data contains a hash with this step's data
98
98
  # # step_location contains a string indication this step definition's
99
99
  # # location
@@ -103,7 +103,7 @@ module Spinach
103
103
  # Runs after every step execution that raises an exception
104
104
  #
105
105
  # @example
106
- # Spinach.on_error_step do |step_data, location|
106
+ # Spinach.hooks.on_error_step do |step_data, location|
107
107
  # # step_data contains a hash with this step's data
108
108
  # # step_location contains a string indication this step definition's
109
109
  # # location
@@ -113,7 +113,7 @@ module Spinach
113
113
  # Runs every time a step which is not defined is called
114
114
  #
115
115
  # @example
116
- # Spinach.on_undefined_step do |step_data, location|
116
+ # Spinach.hooks.on_undefined_step do |step_data, location|
117
117
  # # step_data contains a hash with this step's data
118
118
  # # step_location contains a string indication this step definition's
119
119
  # # location
@@ -124,9 +124,26 @@ module Spinach
124
124
  # one just before.
125
125
  #
126
126
  # @example
127
- # Spinach.on_undefined_step do |step_data|
127
+ # Spinach.hooks.on_undefined_step do |step_data|
128
128
  # # step_data contains a hash with this step's data
129
129
  # end
130
130
  hook :on_skipped_step
131
+
132
+ # Runs before running a scenario with a particular tag
133
+ #
134
+ # @param [String] tag
135
+ # the tag to match
136
+ #
137
+ # @example
138
+ # Spinach.hooks.on_tag('javascript') do
139
+ # # change capybara driver
140
+ # end
141
+ def on_tag(tag)
142
+ before_scenario do |data|
143
+ next unless data["tags"]
144
+ tags = data["tags"].map{ |tag| tag["name"].gsub(/^@/, "") }
145
+ yield(data) if tags.include? tag.to_s
146
+ end
147
+ end
131
148
  end
132
149
  end
@@ -70,11 +70,12 @@ module Spinach
70
70
  successful
71
71
  end
72
72
 
73
- # Loads step definitions and support files.
73
+ # Loads support files and step definitions, ensuring that env.rb is loaded
74
+ # first.
74
75
  #
75
76
  # @api public
76
77
  def require_dependencies
77
- (support_files + step_definition_files).each do |file|
78
+ required_files.each do |file|
78
79
  require file
79
80
  end
80
81
  end
@@ -95,14 +96,30 @@ module Spinach
95
96
  )
96
97
  end
97
98
 
99
+ # Returns an array of support files inside the support_path. Will
100
+ # put "env.rb" in the beginning
101
+ #
98
102
  # @return [Array<String>] files
99
103
  # The support files.
100
104
  #
101
105
  # @api public
102
106
  def support_files
103
- Dir.glob(
107
+ support_files = Dir.glob(
104
108
  File.expand_path File.join(support_path, '**', '*.rb')
105
109
  )
110
+ environment_file = support_files.find do |f|
111
+ f.include?(File.join support_path, 'env.rb')
112
+ end
113
+ support_files.unshift(environment_file).compact.uniq
114
+ end
115
+
116
+ # @return [Array<String>] files
117
+ # All support files with env.rb ordered first, followed by the step
118
+ # definitions.
119
+ #
120
+ # @api public
121
+ def required_files
122
+ support_files + step_definition_files
106
123
  end
107
124
  end
108
125
  end
@@ -53,7 +53,7 @@ module Spinach
53
53
  # # => "I\'ve been bad"
54
54
  #
55
55
  def self.escape_single_commas(text)
56
- text.sub("'", "\\\\'")
56
+ text.gsub("'", "\\\\'")
57
57
  end
58
58
  end
59
59
  end
@@ -1,4 +1,4 @@
1
1
  module Spinach
2
2
  # Spinach version.
3
- VERSION = "0.1.5.3"
3
+ VERSION = "0.1.5.4"
4
4
  end
data/spinach.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |gem|
9
9
  gem.summary = %q{Spinach is a BDD framework on top of gherkin}
10
10
  gem.homepage = "http://github.com/codegram/spinach"
11
11
 
12
- gem.add_runtime_dependency 'gherkin'
12
+ gem.add_runtime_dependency 'gherkin', '2.5.4'
13
13
  gem.add_runtime_dependency 'colorize'
14
14
  gem.add_development_dependency 'rake'
15
15
  gem.add_development_dependency 'mocha'
@@ -9,19 +9,46 @@ describe Spinach::Hooks do
9
9
  %w{before_run after_run before_feature after_feature on_undefined_feature
10
10
  before_scenario after_scenario before_step after_step on_successful_step
11
11
  on_failed_step on_error_step on_undefined_step on_skipped_step}.each do |callback|
12
- it "responds to #{callback}" do
13
- subject.must_respond_to callback
12
+ describe "#{callback}" do
13
+ it "responds to #{callback}" do
14
+ subject.must_respond_to callback
15
+ end
16
+
17
+ it "executes the hook with params" do
18
+ array = []
19
+ block = Proc.new do |arg1, arg2|
20
+ array << arg1
21
+ array << arg2
22
+ end
23
+ subject.send(callback, &block)
24
+ subject.send("run_#{callback}", 1, 2)
25
+ array.must_equal [1, 2]
26
+ end
27
+ end
28
+ end
29
+ describe "#on_tag" do
30
+ let(:data) do
31
+ {
32
+ 'tags' => [{'name' => '@javascript'}, {'name' => '@capture'}]
33
+ }
34
+ end
35
+
36
+ it "calls the block if the scenario includes the tag" do
37
+ assertion = false
38
+ subject.on_tag('javascript') do
39
+ assertion = true
40
+ end
41
+ subject.run_before_scenario(data)
42
+ assertion.must_equal true
14
43
  end
15
44
 
16
- it "executes the hook with params" do
17
- array = []
18
- block = Proc.new do |arg1, arg2|
19
- array << arg1
20
- array << arg2
45
+ it "doesn't call the block if the scenario doesn't include the tag" do
46
+ assertion = false
47
+ subject.on_tag('screenshot') do
48
+ assertion = true
21
49
  end
22
- subject.send(callback, &block)
23
- subject.send("run_#{callback}", 1, 2)
24
- array.must_equal [1, 2]
50
+ subject.run_before_scenario(data)
51
+ assertion.wont_equal true
25
52
  end
26
53
  end
27
54
  end
@@ -56,15 +56,27 @@ describe Spinach::Runner do
56
56
  runner.run
57
57
  end
58
58
  end
59
+
59
60
  describe '#require_dependencies' do
60
61
  it 'requires support files and step definitions' do
61
62
  runner.stubs(
62
- support_files: ['a', 'b'], step_definition_files: ['c', 'd']
63
+ required_files: ['a', 'b']
63
64
  )
64
- %w{a b c d}.each do |file|
65
+ %w{a b}.each do |file|
65
66
  runner.expects(:require).with(file)
66
67
  end
67
68
  runner.require_dependencies
68
69
  end
69
70
  end
71
+
72
+ describe '#required_files' do
73
+ it 'requires environment files first' do
74
+ runner.stubs(:step_definition_path).returns('steps')
75
+ runner.stubs(:support_path).returns('support')
76
+ Dir.stubs(:glob).returns(['/support/bar.rb', '/support/env.rb', '/support/quz.rb'])
77
+ runner.stubs(:step_definition_files).returns(['/steps/bar.feature'])
78
+ runner.required_files.must_equal(['/support/env.rb', '/support/bar.rb', '/support/quz.rb', '/steps/bar.feature'])
79
+ end
80
+ end
81
+
70
82
  end
@@ -59,8 +59,8 @@ describe Spinach::Support do
59
59
  describe "#escape" do
60
60
  it "escapes the name" do
61
61
  Spinach::Support.escape_single_commas(
62
- "I've been doing bad things"
63
- ).must_include "I\\'ve been doing bad things"
62
+ "I've been doing things I shouldn't be doing"
63
+ ).must_include "I\\'ve been doing things I shouldn\\'t be doing"
64
64
  end
65
65
  end
66
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spinach
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5.3
4
+ version: 0.1.5.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,22 +12,22 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2011-10-22 00:00:00.000000000Z
15
+ date: 2011-11-01 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: gherkin
19
- requirement: &70344997199800 !ruby/object:Gem::Requirement
19
+ requirement: &70148296624980 !ruby/object:Gem::Requirement
20
20
  none: false
21
21
  requirements:
22
- - - ! '>='
22
+ - - =
23
23
  - !ruby/object:Gem::Version
24
- version: '0'
24
+ version: 2.5.4
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70344997199800
27
+ version_requirements: *70148296624980
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: colorize
30
- requirement: &70344997199380 !ruby/object:Gem::Requirement
30
+ requirement: &70148296623440 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,10 +35,10 @@ dependencies:
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70344997199380
38
+ version_requirements: *70148296623440
39
39
  - !ruby/object:Gem::Dependency
40
40
  name: rake
41
- requirement: &70344997198960 !ruby/object:Gem::Requirement
41
+ requirement: &70148296622320 !ruby/object:Gem::Requirement
42
42
  none: false
43
43
  requirements:
44
44
  - - ! '>='
@@ -46,10 +46,10 @@ dependencies:
46
46
  version: '0'
47
47
  type: :development
48
48
  prerelease: false
49
- version_requirements: *70344997198960
49
+ version_requirements: *70148296622320
50
50
  - !ruby/object:Gem::Dependency
51
51
  name: mocha
52
- requirement: &70344997198540 !ruby/object:Gem::Requirement
52
+ requirement: &70148296619140 !ruby/object:Gem::Requirement
53
53
  none: false
54
54
  requirements:
55
55
  - - ! '>='
@@ -57,10 +57,10 @@ dependencies:
57
57
  version: '0'
58
58
  type: :development
59
59
  prerelease: false
60
- version_requirements: *70344997198540
60
+ version_requirements: *70148296619140
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: sinatra
63
- requirement: &70344997198120 !ruby/object:Gem::Requirement
63
+ requirement: &70148296617420 !ruby/object:Gem::Requirement
64
64
  none: false
65
65
  requirements:
66
66
  - - ! '>='
@@ -68,10 +68,10 @@ dependencies:
68
68
  version: '0'
69
69
  type: :development
70
70
  prerelease: false
71
- version_requirements: *70344997198120
71
+ version_requirements: *70148296617420
72
72
  - !ruby/object:Gem::Dependency
73
73
  name: capybara
74
- requirement: &70344997197700 !ruby/object:Gem::Requirement
74
+ requirement: &70148296616720 !ruby/object:Gem::Requirement
75
75
  none: false
76
76
  requirements:
77
77
  - - ! '>='
@@ -79,10 +79,10 @@ dependencies:
79
79
  version: '0'
80
80
  type: :development
81
81
  prerelease: false
82
- version_requirements: *70344997197700
82
+ version_requirements: *70148296616720
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: aruba
85
- requirement: &70344997197280 !ruby/object:Gem::Requirement
85
+ requirement: &70148296615940 !ruby/object:Gem::Requirement
86
86
  none: false
87
87
  requirements:
88
88
  - - ! '>='
@@ -90,10 +90,10 @@ dependencies:
90
90
  version: '0'
91
91
  type: :development
92
92
  prerelease: false
93
- version_requirements: *70344997197280
93
+ version_requirements: *70148296615940
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: pry
96
- requirement: &70344997196860 !ruby/object:Gem::Requirement
96
+ requirement: &70148296615000 !ruby/object:Gem::Requirement
97
97
  none: false
98
98
  requirements:
99
99
  - - ! '>='
@@ -101,10 +101,10 @@ dependencies:
101
101
  version: '0'
102
102
  type: :development
103
103
  prerelease: false
104
- version_requirements: *70344997196860
104
+ version_requirements: *70148296615000
105
105
  - !ruby/object:Gem::Dependency
106
106
  name: simplecov
107
- requirement: &70344997196440 !ruby/object:Gem::Requirement
107
+ requirement: &70148296613140 !ruby/object:Gem::Requirement
108
108
  none: false
109
109
  requirements:
110
110
  - - ! '>='
@@ -112,10 +112,10 @@ dependencies:
112
112
  version: '0'
113
113
  type: :development
114
114
  prerelease: false
115
- version_requirements: *70344997196440
115
+ version_requirements: *70148296613140
116
116
  - !ruby/object:Gem::Dependency
117
117
  name: rspec
118
- requirement: &70344997196020 !ruby/object:Gem::Requirement
118
+ requirement: &70148296612020 !ruby/object:Gem::Requirement
119
119
  none: false
120
120
  requirements:
121
121
  - - ! '>='
@@ -123,10 +123,10 @@ dependencies:
123
123
  version: '0'
124
124
  type: :development
125
125
  prerelease: false
126
- version_requirements: *70344997196020
126
+ version_requirements: *70148296612020
127
127
  - !ruby/object:Gem::Dependency
128
128
  name: fakefs
129
- requirement: &70344997224000 !ruby/object:Gem::Requirement
129
+ requirement: &70148296610520 !ruby/object:Gem::Requirement
130
130
  none: false
131
131
  requirements:
132
132
  - - ! '>='
@@ -134,10 +134,10 @@ dependencies:
134
134
  version: '0'
135
135
  type: :development
136
136
  prerelease: false
137
- version_requirements: *70344997224000
137
+ version_requirements: *70148296610520
138
138
  - !ruby/object:Gem::Dependency
139
139
  name: minitest
140
- requirement: &70344997223580 !ruby/object:Gem::Requirement
140
+ requirement: &70148296608440 !ruby/object:Gem::Requirement
141
141
  none: false
142
142
  requirements:
143
143
  - - ! '>='
@@ -145,10 +145,10 @@ dependencies:
145
145
  version: '0'
146
146
  type: :development
147
147
  prerelease: false
148
- version_requirements: *70344997223580
148
+ version_requirements: *70148296608440
149
149
  - !ruby/object:Gem::Dependency
150
150
  name: turn
151
- requirement: &70344997223160 !ruby/object:Gem::Requirement
151
+ requirement: &70148296607360 !ruby/object:Gem::Requirement
152
152
  none: false
153
153
  requirements:
154
154
  - - ! '>='
@@ -156,7 +156,7 @@ dependencies:
156
156
  version: '0'
157
157
  type: :development
158
158
  prerelease: false
159
- version_requirements: *70344997223160
159
+ version_requirements: *70148296607360
160
160
  description: Spinach is a BDD framework on top of gherkin
161
161
  email:
162
162
  - info@codegram.com
@@ -263,7 +263,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
263
263
  version: '0'
264
264
  requirements: []
265
265
  rubyforge_project:
266
- rubygems_version: 1.8.6
266
+ rubygems_version: 1.8.10
267
267
  signing_key:
268
268
  specification_version: 3
269
269
  summary: Spinach is a BDD framework on top of gherkin
@@ -308,3 +308,4 @@ test_files:
308
308
  - test/spinach/support_test.rb
309
309
  - test/spinach_test.rb
310
310
  - test/test_helper.rb
311
+ has_rdoc: