rspec-steps 0.4.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 450f314d7e1d2cc39735a1331ea8143b3a1a7c5b
4
- data.tar.gz: 4e4e23c031ce30133cd5b0ec6397d197a120ccad
3
+ metadata.gz: feeff714af8dab45f65c914f485a8106a4b86940
4
+ data.tar.gz: e18ec6c20e2fac92749ef351323b6d4fa33b7bf2
5
5
  SHA512:
6
- metadata.gz: 0bfab8c4694b2d635614fdce3cfc9e89dd87e63a4bc42808e14674750138aaee24b3b22dda9fb9016a1d84f377f9a3a77b537f053597e12a74ced711e62334a5
7
- data.tar.gz: 7bf162d1d0029a0b7b25d493fbc9bd1906fdf619ec1c0b84e7c73f8de981a5053c3ff37caa792e1fbb878157d1888f3ed9886e3602cff00078448957d5e48af2
6
+ metadata.gz: ddc384403a0f28313483f99613d16c2c35a643777ac605c6de3e709f8693e074a801c0e995f4cceadd8d77730d096995187cbdac1c87e7ee573f7adf6159223d
7
+ data.tar.gz: 61c444f82fa0ed67bb53eaa5b534fcc88aa1ae413c73d4b7d7040b340f50b4598190a666469714a6eeec947776e239f7e1e527a3eabd600a086895a748e740de
data/doc/README CHANGED
@@ -6,6 +6,10 @@ in sequence and which stop when a step fails. It's often incredibly
6
6
  useful to be able to aseemble a series of tests that should all pass,
7
7
  but where completely isolating them is less than sensible.
8
8
 
9
+ ( RSpec Steps has gone on with the tide of progress - it only supports RSpec
10
+ 3.x. If you need Rspec 2 suport, check out two-step:
11
+ https://github.com/LRDesign/two-step )
12
+
9
13
  One excellent example is web site integration tests. With RSpec steps you can
10
14
  do:
11
15
 
@@ -106,11 +110,10 @@ diverge, you can DRY your code out with shared_steps blocks, like so:
106
110
 
107
111
  ## Versions and Dependencies
108
112
 
109
- 0.1.0: Released Mar 12, 2013.
110
- Compatible with RSpec 2.10-2.13 - probably works with earlier versions
111
-
112
- 0.0.9: Released Feb 22, 2013.
113
- NOTES: works with rspec 2.6 through 2.10. Does not work with rspec >= 2.11
113
+ The goal (sadly unfulfilled) is to try to be compatible with as many versions
114
+ of RSpec 3.x as possible. Frankly, Rspec-Steps is more than a little bit of a
115
+ hack, and intrudes wholesale on RSpec's private interfaces.
114
116
 
115
- 0.0.8: Released Jan 11, 2012.
116
- NOTES: Will not work with rspec > 2.9.
117
+ We make good use of Travis to check compatibility, however. You can check what
118
+ versions of RSpec and Ruby RSpec-Steps works with here:
119
+ https://travis-ci.org/LRDesign/rspec-steps
@@ -1,27 +1,33 @@
1
1
  require 'rspec/core'
2
2
  require 'rspec-steps/stepwise'
3
3
 
4
- module RSpec::Steps
5
- module DSL
6
- def steps(*args, &block)
7
- options =
8
- if args.last.is_a?(Hash)
9
- args.pop
10
- else
11
- {}
12
- end
13
- options[:stepwise] = true
14
- options[:caller] ||= caller
15
- args.push(options)
4
+ if RSpec.configuration.respond_to? :alias_example_group_to
5
+ RSpec.configuration.alias_example_group_to :steps, :stepwise => true
6
+ else
7
+ module RSpec::Steps
8
+ module DSL
9
+ def steps(*args, &block)
10
+ options =
11
+ if args.last.is_a?(Hash)
12
+ args.pop
13
+ else
14
+ {}
15
+ end
16
+ options[:stepwise] = true
17
+ options[:caller] ||= caller
18
+ args.push(options)
16
19
 
17
- describe(*args, &block)
20
+ describe(*args, &block)
21
+ end
18
22
  end
19
23
  end
20
- end
21
-
22
- RSpec::Core::ExampleGroup.extend RSpec::Steps::DSL
23
24
 
24
- extend RSpec::Steps::DSL
25
- Module::send(:include, RSpec::Steps::DSL)
25
+ [RSpec::Core::ExampleGroup, RSpec, self].each do |mod|
26
+ mod.extend RSpec::Steps::DSL
27
+ end
28
+ Module::send(:include, RSpec::Steps::DSL)
29
+ end
26
30
 
27
- RSpec::configuration.include(RSpecStepwise, :stepwise => true)
31
+ RSpec::configure do |config|
32
+ config.include(RSpecStepwise, :stepwise => true)
33
+ end
@@ -3,6 +3,8 @@ require 'rspec-steps/stepwise'
3
3
  require 'rspec/core/shared_example_group'
4
4
 
5
5
  module RSpec::Core::SharedExampleGroup
6
- alias :shared_steps :share_examples_for
7
- alias :steps_shared_as :share_as
6
+ alias shared_steps shared_examples_for
7
+ if respond_to? :share_as
8
+ alias steps_shared_as share_as
9
+ end
8
10
  end
@@ -1,5 +1,12 @@
1
1
  module RSpecStepwise
2
2
  class ApatheticReporter < ::RSpec::Core::Reporter
3
+ def initialize
4
+ @examples = []
5
+ @failed_examples = []
6
+ @pending_examples = []
7
+ @duration = @start = @load_time = nil
8
+ end
9
+
3
10
  def notify(*args)
4
11
  #noop
5
12
  end
@@ -22,10 +29,15 @@ module RSpecStepwise
22
29
 
23
30
  def build_example_block
24
31
  #variables of concern: reporter, instance
32
+ reporter = @reporter
25
33
  @example_block = proc do
26
34
  begin
27
35
  self.class.filtered_examples.inject(true) do |success, example|
28
- break if RSpec.wants_to_quit
36
+ if RSpec.respond_to? :wants_to_quit
37
+ break if RSpec.wants_to_quit
38
+ else
39
+ break if RSpec.world.wants_to_quit
40
+ end
29
41
  example.extend StepExample
30
42
  unless success
31
43
  example.metadata[:pending] = true
@@ -34,7 +46,13 @@ module RSpecStepwise
34
46
  succeeded = with_indelible_ivars do
35
47
  example.run(self, reporter)
36
48
  end
37
- RSpec.wants_to_quit = true if self.class.fail_fast? && !succeeded
49
+ if self.class.fail_fast? && !succeeded
50
+ if RSpec.respond_to? :wants_to_quit=
51
+ RSpec.wants_to_quit = true
52
+ else
53
+ RSpec.world.wants_to_quit = true
54
+ end
55
+ end
38
56
  success && succeeded
39
57
  end
40
58
  end
@@ -48,10 +66,12 @@ module RSpecStepwise
48
66
  rescue Object => ex
49
67
  puts "\n#{__FILE__}:#{__LINE__} => #{[ex, ex.backtrace].pretty_inspect}"
50
68
  end
69
+ alias run_before_example run_before_each
51
70
 
52
71
  def run_after_each
53
72
  @example_group_class.run_after_step(self)
54
73
  end
74
+ alias run_after_example run_after_each
55
75
 
56
76
  def with_around_hooks
57
77
  yield
@@ -92,10 +112,18 @@ module RSpecStepwise
92
112
  end
93
113
  end
94
114
 
115
+ def _metadata_from_args(args)
116
+ if RSpec::Core::Metadata.respond_to?(:build_hash_from)
117
+ RSpec::Core::Metadata.build_hash_from(args)
118
+ else
119
+ build_metadata_hash_from(args)
120
+ end
121
+ end
122
+
95
123
  def before(*args, &block)
96
124
  if args.first == :step
97
125
  args.shift
98
- options = build_metadata_hash_from(args)
126
+ options = _metadata_from_args(args)
99
127
  return ((hooks[:before][:step] ||= []) << build_before_hook(options, &block))
100
128
  end
101
129
  if args.first == :each
@@ -107,7 +135,7 @@ module RSpecStepwise
107
135
  def after(*args, &block)
108
136
  if args.first == :step
109
137
  args.shift
110
- options = build_metadata_hash_from(args)
138
+ options = _metadata_from_args(args)
111
139
  hooks[:after][:step] ||= []
112
140
  return (hooks[:after][:step].unshift build_after_hook(options, &block))
113
141
  end
@@ -162,32 +190,56 @@ module RSpecStepwise
162
190
 
163
191
  def perform_steps(name, *args, &customization_block)
164
192
  shared_block = nil
165
- if world.respond_to? :shared_example_groups
193
+ if respond_to?(:world) and world.respond_to? :shared_example_groups
166
194
  shared_block = world.shared_example_groups[name]
167
195
  else
168
- shared_block = shared_example_groups[name]
196
+ if respond_to?(:shared_example_groups)
197
+ shared_block = shared_example_groups[name]
198
+ else
199
+ shared_block = RSpec.world.shared_example_group_registry.find(parent_groups, name)
200
+ end
169
201
  end
170
202
  raise "Could not find shared example group named #{name.inspect}" unless shared_block
171
203
 
172
- module_eval_with_args(*args, &shared_block)
173
- module_eval(&customization_block) if customization_block
204
+ if respond_to? :module_exec
205
+ module_exec(*args, &shared_block)
206
+ module_exec(&customization_block) if customization_block
207
+ else
208
+ module_eval_with_args(*args, &shared_block)
209
+ module_eval(&customization_block) if customization_block
210
+ end
174
211
  end
175
212
 
176
213
  def run_examples(reporter)
177
214
  whole_list_example = WholeListExample.new(self, "step list", {})
178
215
 
179
216
  instance = new
180
- set_ivars(instance, before_all_ivars)
181
- instance.example = whole_list_example
182
- instance.reporter = reporter
217
+ if respond_to? :before_context_ivars
218
+ set_ivars(instance, before_context_ivars)
219
+ else
220
+ set_ivars(instance, before_all_ivars)
221
+ end
222
+ instance.example = whole_list_example if respond_to? :example=
223
+ instance.reporter = reporter if respond_to? :reporter=
183
224
 
184
225
  result = suspend_transactional_fixtures do
185
226
  whole_list_example.run(instance, reporter)
186
227
  end
187
228
 
188
229
  unless whole_list_example.exception.nil?
189
- RSpec.wants_to_quit = true if fail_fast?
190
- fail_filtered_examples(whole_list_example.exception, reporter)
230
+ if fail_fast?
231
+ if RSpec.respond_to? :wants_to_quit=
232
+ RSpec.wants_to_quit = true
233
+ else
234
+ RSpec.world.wants_to_quit = true
235
+ end
236
+ end
237
+ if respond_to? :fail_filtered_examples
238
+ fail_filtered_examples(whole_list_example.exception, reporter)
239
+ else
240
+ ex = whole_list_example.exception
241
+ for_filtered_examples(reporter) {|example| example.fail_with_exception(reporter, ex) }
242
+ end
191
243
  end
192
244
 
193
245
  result
@@ -1,15 +1,15 @@
1
1
  require 'rspec-steps'
2
2
  require 'rspec-sandbox'
3
3
 
4
- describe RSpec::Core::ExampleGroup, "defined as stepwise" do
4
+ describe RSpec::Core::ExampleGroup do
5
5
  describe "::steps" do
6
6
  it "should create an ExampleGroup that includes RSpec::Stepwise" do
7
7
  group = nil
8
8
  sandboxed do
9
- group = steps "Test Steps" do
9
+ group = RSpec.steps "Test Steps" do
10
10
  end
11
11
  end
12
- (class << group; self; end).included_modules.should include(RSpecStepwise::ClassMethods)
12
+ expect((class << group; self; end).included_modules).to include(RSpecStepwise::ClassMethods)
13
13
  end
14
14
  end
15
15
 
@@ -17,7 +17,7 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
17
17
  it "should retain instance variables between steps" do
18
18
  group = nil
19
19
  sandboxed do
20
- group = steps "Test Steps" do
20
+ group = RSpec.steps "Test Steps" do
21
21
  it("sets @a"){ @a = 1 }
22
22
  it("reads @a"){ @a.should == 1}
23
23
  end
@@ -25,14 +25,14 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
25
25
  end
26
26
 
27
27
  group.examples.each do |example|
28
- example.metadata[:execution_result][:status].should == 'passed'
28
+ expect(example.metadata[:execution_result].status).to eq(:passed)
29
29
  end
30
30
  end
31
31
 
32
32
  it "should work with shared_steps/perform steps" do
33
33
  group = nil
34
34
  sandboxed do
35
- group = steps "Test Steps" do
35
+ group = RSpec.steps "Test Steps" do
36
36
  shared_steps "add one" do
37
37
  it("adds one to @a"){ @a += 1 }
38
38
  end
@@ -46,7 +46,7 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
46
46
  end
47
47
 
48
48
  group.examples.each do |example|
49
- example.metadata[:execution_result][:status].should == 'passed'
49
+ expect(example.metadata[:execution_result].status).to eq(:passed)
50
50
  end
51
51
  end
52
52
 
@@ -56,7 +56,7 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
56
56
  befores = []
57
57
 
58
58
  sandboxed do
59
- group = steps "Test Each Step" do
59
+ group = RSpec.steps "Test Each Step" do
60
60
  before :each do
61
61
  befores << :each
62
62
  end
@@ -91,12 +91,12 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
91
91
  group.run
92
92
  end
93
93
 
94
- befores.find_all{|item| item == :all}.length.should == 1
95
- befores.find_all{|item| item == :each}.length.should == 1
96
- befores.find_all{|item| item == :step}.length.should == 3
97
- afters.find_all{|item| item == :all}.length.should == 1
98
- afters.find_all{|item| item == :each}.length.should == 1
99
- afters.find_all{|item| item == :step}.length.should == 3
94
+ expect(befores.find_all{|item| item == :all}.length).to eq(1)
95
+ expect(befores.find_all{|item| item == :each}.length).to eq(1)
96
+ expect(befores.find_all{|item| item == :step}.length).to eq(3)
97
+ expect(afters.find_all{|item| item == :all}.length).to eq(1)
98
+ expect(afters.find_all{|item| item == :each}.length).to eq(1)
99
+ expect(afters.find_all{|item| item == :step}.length).to eq(3)
100
100
  end
101
101
 
102
102
  it "should mark later examples as failed if a before hook fails" do
@@ -104,7 +104,7 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
104
104
  exception = Exception.new "Testing Error"
105
105
 
106
106
  sandboxed do
107
- group = steps "Test Steps" do
107
+ group = RSpec.steps "Test Steps" do
108
108
  before { raise exception }
109
109
  it { 1.should == 1 }
110
110
  it { 1.should == 1 }
@@ -113,28 +113,28 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
113
113
  end
114
114
 
115
115
  group.examples.each do |example|
116
- example.metadata[:execution_result][:status].should == 'failed'
117
- example.metadata[:execution_result][:exception].should == exception
116
+ expect(example.metadata[:execution_result].status).to eq(:failed)
117
+ expect(example.metadata[:execution_result].exception).to eq(exception)
118
118
  end
119
119
  end
120
120
 
121
121
  it "should mark later examples as pending if one fails" do
122
122
  group = nil
123
123
  sandboxed do
124
- group = steps "Test Steps" do
124
+ group = RSpec.steps "Test Steps" do
125
125
  it { fail "All others fail" }
126
126
  it { 1.should == 1 }
127
127
  end
128
128
  group.run
129
129
  end
130
130
 
131
- group.examples[1].metadata[:pending].should be_true
131
+ expect(group.examples[1].metadata[:pending]).to eq(true)
132
132
  end
133
133
 
134
134
  it "should allow nested steps", :pending => "Not really" do
135
135
  group = nil
136
136
  sandboxed do
137
- group = steps "Test Steps" do
137
+ group = RSpec.steps "Test Steps" do
138
138
  steps "Nested" do
139
139
  it { @a = 1 }
140
140
  it { @a.should == 1}
@@ -144,16 +144,16 @@ describe RSpec::Core::ExampleGroup, "defined as stepwise" do
144
144
  end
145
145
 
146
146
  group.children[0].examples.each do |example|
147
- example.metadata[:execution_result][:status].should == 'passed'
147
+ expect(example.metadata[:execution_result].status).to eq(:passed)
148
148
  end
149
- group.children[0].should have(2).examples
149
+ expect(group.children[0].size).to eq(2)
150
150
  end
151
151
 
152
152
  it "should not allow nested normal contexts" do
153
153
  pending "A correct approach - in the meantime, this behavior is undefined"
154
154
  expect {
155
155
  sandboxed do
156
- steps "Basic" do
156
+ RSpec.steps "Basic" do
157
157
  describe "Not allowed" do
158
158
  end
159
159
  end
@@ -34,7 +34,7 @@ module FileSandbox
34
34
  end
35
35
 
36
36
  attr_reader :sandbox
37
-
37
+
38
38
  def in_sandbox(&block)
39
39
  raise "I expected to create a sandbox as you passed in a block to me" if !block_given?
40
40
 
@@ -84,7 +84,7 @@ module FileSandbox
84
84
  clean_up
85
85
  FileUtils.mkdir_p @root
86
86
  end
87
-
87
+
88
88
  def [](name)
89
89
  SandboxFile.new(File.join(@root, name), name)
90
90
  end
@@ -102,17 +102,17 @@ module FileSandbox
102
102
  file.content = (options.delete(:with_content) || options.delete(:with_contents) || '')
103
103
  end
104
104
  end
105
-
105
+
106
106
  raise "unexpected keys '#{options.keys.join(', ')}'" unless options.empty?
107
-
107
+
108
108
  dir || file
109
109
  end
110
-
110
+
111
111
  def remove(options)
112
112
  name = File.join(@root, options[:file])
113
113
  FileUtils.remove_file name
114
114
  end
115
-
115
+
116
116
  def clean_up
117
117
  FileUtils.rm_rf @root
118
118
  if File.exists? @root
@@ -124,7 +124,7 @@ module FileSandbox
124
124
 
125
125
  class SandboxFile
126
126
  attr_reader :path
127
-
127
+
128
128
  def initialize(path, sandbox_path)
129
129
  @path = path
130
130
  @sandbox_path = sandbox_path
@@ -141,12 +141,12 @@ module FileSandbox
141
141
  def content
142
142
  File.read path
143
143
  end
144
-
144
+
145
145
  def content=(content)
146
146
  FileUtils.mkdir_p File.dirname(@path)
147
147
  File.open(@path, "w") {|f| f << content}
148
148
  end
149
-
149
+
150
150
  def binary_content=(content)
151
151
  FileUtils.mkdir_p File.dirname(@path)
152
152
  File.open(@path, "wb") {|f| f << content}
@@ -159,6 +159,6 @@ module FileSandbox
159
159
  alias exists? exist?
160
160
  alias contents content
161
161
  alias contents= content=
162
- alias binary_contents= binary_content=
162
+ alias binary_contents= binary_content=
163
163
  end
164
164
  end
@@ -1,46 +1,68 @@
1
+ require 'rspec/support/spec'
1
2
  require 'rspec/core'
2
3
 
3
- class NullObject
4
- private
5
- def method_missing(method, *args, &block)
6
- # ignore
7
- end
4
+ class << RSpec
5
+ attr_writer :configuration, :world
8
6
  end
9
7
 
10
- def sandboxed(&block)
11
- @orig_config = RSpec.configuration
12
- @orig_world = RSpec.world
13
- new_config = RSpec::Core::Configuration.new
14
- new_world = RSpec::Core::World.new(new_config)
15
- RSpec.instance_variable_set(:@configuration, new_config)
16
- RSpec.instance_variable_set(:@world, new_world)
17
-
18
- load 'rspec-steps/duckpunch/example-group.rb'
19
-
20
- object = Object.new
21
- object.extend(RSpec::Core::SharedExampleGroup)
22
- object.extend(RSpec::Steps::DSL)
23
- object.extend(RSpec::Core::DSL)
24
-
25
- (class << RSpec::Core::ExampleGroup; self; end).class_eval do
26
- alias_method :orig_run, :run
27
- def run(reporter=nil)
28
- @orig_mock_space = RSpec::Mocks::space
29
- RSpec::Mocks::space = RSpec::Mocks::Space.new
30
- orig_run(reporter || NullObject.new)
31
- ensure
32
- RSpec::Mocks::space = @orig_mock_space
8
+ $rspec_core_without_stderr_monkey_patch = RSpec::Core::Configuration.new
9
+
10
+ class RSpec::Core::Configuration
11
+ def self.new(*args, &block)
12
+ super.tap do |config|
13
+ # We detect ruby warnings via $stderr,
14
+ # so direct our deprecations to $stdout instead.
15
+ config.deprecation_stream = $stdout
33
16
  end
34
17
  end
18
+ end
19
+
20
+ module Sandboxing
21
+ def sandboxed(&block)
22
+ @orig_config = RSpec.configuration
23
+ @orig_world = RSpec.world
24
+ @orig_example = RSpec.current_example
25
+ new_config = RSpec::Core::Configuration.new
26
+ new_config.expose_dsl_globally = false
27
+ new_config.expecting_with_rspec = true
28
+ new_config.include(RSpecStepwise, :stepwise => true)
29
+ new_world = RSpec::Core::World.new(new_config)
30
+ RSpec.configuration = new_config
31
+ RSpec.world = new_world
32
+ object = Object.new
33
+ object.extend(RSpec::Core::SharedExampleGroup)
35
34
 
36
- object.instance_eval(&block)
37
- ensure
38
- (class << RSpec::Core::ExampleGroup; self; end).class_eval do
39
- remove_method :run
40
- alias_method :run, :orig_run
41
- remove_method :orig_run
35
+ (class << RSpec::Core::ExampleGroup; self; end).class_exec do
36
+ alias_method :orig_run, :run
37
+ def run(reporter=nil)
38
+ RSpec.current_example = nil
39
+ orig_run(reporter || NullObject.new)
40
+ end
41
+ end
42
+
43
+ RSpec::Mocks.with_temporary_scope do
44
+ object.instance_exec(&block)
45
+ end
46
+ ensure
47
+ (class << RSpec::Core::ExampleGroup; self; end).class_exec do
48
+ remove_method :run
49
+ alias_method :run, :orig_run
50
+ remove_method :orig_run
51
+ end
52
+
53
+ RSpec.configuration = @orig_config
54
+ RSpec.world = @orig_world
55
+ RSpec.current_example = @orig_example
42
56
  end
57
+ end
58
+
59
+ RSpec.configure do |config|
60
+ config.include Sandboxing
61
+ end
43
62
 
44
- RSpec.instance_variable_set(:@configuration, @orig_config)
45
- RSpec.instance_variable_set(:@world, @orig_world)
63
+ class NullObject
64
+ private
65
+ def method_missing(method, *args, &block)
66
+ # ignore
67
+ end
46
68
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-steps
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Judson Lester
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-07 00:00:00.000000000 Z
12
+ date: 2014-11-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: corundum
@@ -17,34 +17,48 @@ dependencies:
17
17
  requirements:
18
18
  - - '>='
19
19
  - !ruby/object:Gem::Version
20
- version: 0.0.25
20
+ version: 0.4.0
21
21
  type: :development
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - '>='
26
26
  - !ruby/object:Gem::Version
27
- version: 0.0.25
27
+ version: 0.4.0
28
+ - !ruby/object:Gem::Dependency
29
+ name: metric_fu
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 4.11.1
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ~>
40
+ - !ruby/object:Gem::Version
41
+ version: 4.11.1
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: rspec
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
46
  - - '>='
33
47
  - !ruby/object:Gem::Version
34
- version: '2.6'
48
+ version: '3.0'
35
49
  - - <
36
50
  - !ruby/object:Gem::Version
37
- version: '2.99'
51
+ version: '3.99'
38
52
  type: :runtime
39
53
  prerelease: false
40
54
  version_requirements: !ruby/object:Gem::Requirement
41
55
  requirements:
42
56
  - - '>='
43
57
  - !ruby/object:Gem::Version
44
- version: '2.6'
58
+ version: '3.0'
45
59
  - - <
46
60
  - !ruby/object:Gem::Version
47
- version: '2.99'
61
+ version: '3.99'
48
62
  description: |2
49
63
  I don't like Cucumber. I don't need plain text stories. My clients either
50
64
  read code or don't read any test documents, so Cucumber is mostly useless to me.
@@ -315,7 +329,7 @@ rdoc_options:
315
329
  - --main
316
330
  - doc/README
317
331
  - --title
318
- - rspec-steps-0.4.1 RDoc
332
+ - rspec-steps-1.0.0 RDoc
319
333
  require_paths:
320
334
  - lib/
321
335
  required_ruby_version: !ruby/object:Gem::Requirement