transpec 1.7.0 → 1.8.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: c46495e8ece5679b985320ebfd8f026bd089fa0f
4
- data.tar.gz: 3096577bb24dfc010639d541e8f3471a5568cba1
3
+ metadata.gz: 1947cf230f025d55b5b315662b49e4a0c6807199
4
+ data.tar.gz: 674a547e1df20db31651518199adc63889ae78b8
5
5
  SHA512:
6
- metadata.gz: 81b9a2e1fe74cb4125f8ea25790198f528200973073a253c3d8facb5e036f883cc5dd9d7b519ac59705580f395a79baaac854f2055f96c31032087bd233b0237
7
- data.tar.gz: 7c34385af11c5d9eee744d334141820f47436c907d26e8d1f66a7bb8391e3835698f24bdddc2a60e22635933c242fa3dbeb0b6855170b8324a6ed6735ec7f4d5
6
+ metadata.gz: ff571e89b51badd2ad5ba7d26beef1651ec37686597653e4e647e4c6931aebf36090269f0e2eeea8081813f7d8fe3579523c817fdc260c0fa9b1b6af241eea7a
7
+ data.tar.gz: a5d24e1e775928e1e412d415faeaa62dd6fceb7c0a93589b49bf6c723c2a625d9f686d51d498d707e2d76c2b76f944430a261c05bda4fee6216f45ac8ddc1993
data/.rubocop.yml CHANGED
@@ -54,4 +54,4 @@ BracesAroundHashParameters:
54
54
 
55
55
  # TODO: Shorten to 100.
56
56
  ClassLength:
57
- Max: 154
57
+ Max: 160
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Development
4
4
 
5
+ ## v1.8.0
6
+
7
+ * Conversion of `obj.stub(:message => value)` to `allow(obj).to receive(:message).and_return(value)` is now opt-in with `-t/--convert-stub-with-hash` option when `receive_messages` is unavailable
8
+
5
9
  ## v1.7.0
6
10
 
7
11
  * Support conversion of `any_instance` block
data/README.md CHANGED
@@ -43,7 +43,7 @@ describe Account do
43
43
  describe '#renew' do
44
44
  context 'when the account is renewable and not closed' do
45
45
  before do
46
- account.stub(:renewable? => true, :closed? => false)
46
+ account.stub(:closed?).and_return(false)
47
47
  end
48
48
 
49
49
  it 'does not raise error' do
@@ -79,7 +79,6 @@ describe Account do
79
79
  describe '#renew' do
80
80
  context 'when the account is renewable and not closed' do
81
81
  before do
82
- allow(account).to receive(:renewable?).and_return(true)
83
82
  allow(account).to receive(:closed?).and_return(false)
84
83
  end
85
84
 
@@ -145,7 +144,7 @@ After the conversion, run `rspec` again and check whether everything is green:
145
144
  $ bundle exec rspec
146
145
  ```
147
146
 
148
- If it's green, commit the changes with an auto-generated message which describes the conversion summary:
147
+ If it's green, commit the changes with an auto-generated message that describes the conversion summary:
149
148
 
150
149
  ```bash
151
150
  $ git commit -aeF .git/COMMIT_EDITMSG
@@ -270,6 +269,14 @@ Note that this is not same as `--keep deprecated` since this configures `yield_r
270
269
 
271
270
  See [Supported Conversions - `any_instance` implementation blocks](#any_instance-implementation-blocks) for more details.
272
271
 
272
+ ### `-t/--convert-stub-with-hash`
273
+
274
+ Enable conversion of `obj.stub(:message => value)` to `allow(obj).to receive(:message).and_return(value)` when `receive_messages(:message => value)` is unavailable (prior to RSpec 3.0).
275
+ It will be converted to multiple statements if the hash includes multiple pairs.
276
+ This conversion is disabled by default.
277
+
278
+ See [Supported Conversions - Method stubs with a hash argument](#method-stubs-with-a-hash-argument) for more details.
279
+
273
280
  ### `-p/--no-parentheses-matcher-arg`
274
281
 
275
282
  Suppress parenthesizing arguments of matchers when converting
@@ -401,6 +408,27 @@ The one-liner (implicit receiver) `should`:
401
408
 
402
409
  ## Supported Conversions
403
410
 
411
+ * [Standard expectations](#standard-expectations)
412
+ * [One-liner expectations](#one-liner-expectations)
413
+ * [Operator matchers](#operator-matchers)
414
+ * [Boolean matchers](#boolean-matchers)
415
+ * [`be_close` matcher](#be_close-matcher)
416
+ * [`have(n).items` matcher](#havenitems-matcher)
417
+ * [One-liner expectations with `have(n).items` matcher](#one-liner-expectations-with-havenitems-matcher)
418
+ * [Expectations on block](#expectations-on-block)
419
+ * [Negative error expectations with specific error](#negative-error-expectations-with-specific-error)
420
+ * [Message expectations](#message-expectations)
421
+ * [Message expectations that are actually method stubs](#message-expectations-that-are-actually-method-stubs)
422
+ * [Method stubs](#method-stubs)
423
+ * [Method stubs with a hash argument](#method-stubs-with-a-hash-argument)
424
+ * [Deprecated method stub aliases](#deprecated-method-stub-aliases)
425
+ * [Method stubs with deprecated specification of number of times](#method-stubs-with-deprecated-specification-of-number-of-times)
426
+ * [`any_instance` implementation blocks](#any_instance-implementation-blocks)
427
+ * [Deprecated test double aliases](#deprecated-test-double-aliases)
428
+ * [Expectations on attribute of subject with `its`](#expectations-on-attribute-of-subject-with-its)
429
+ * [Current example object](#current-example-object)
430
+ * [Custom matcher DSL](#custom-matcher-dsl)
431
+
404
432
  ### Standard expectations
405
433
 
406
434
  Targets:
@@ -709,8 +737,6 @@ Targets:
709
737
  obj.stub(:foo)
710
738
  obj.stub!(:foo)
711
739
 
712
- obj.stub(:foo => 1, :bar => 2)
713
-
714
740
  obj.stub_chain(:foo, :bar, :baz)
715
741
 
716
742
  Klass.any_instance.stub(:foo)
@@ -721,13 +747,6 @@ Will be converted to:
721
747
  ```ruby
722
748
  allow(obj).to receive(:foo)
723
749
 
724
- # If the target project's RSpec is prior to 3.0.0.beta1
725
- allow(obj).to receive(:foo).and_return(1)
726
- allow(obj).to receive(:bar).and_return(2)
727
-
728
- # If the target project's RSpec is 3.0.0.beta1 or later
729
- allow(obj).to receive_messages(:foo => 1, :bar => 2)
730
-
731
750
  # Conversion from `stub_chain` to `receive_message_chain` is available
732
751
  # only if the target project's RSpec is 3.0.0.beta2 (not yet released) or later
733
752
  allow(obj).to receive_message_chain(:foo, :bar, :baz)
@@ -735,29 +754,51 @@ allow(obj).to receive_message_chain(:foo, :bar, :baz)
735
754
  allow_any_instance_of(Klass).to receive(:foo)
736
755
  ```
737
756
 
738
- #### No replacement for `unstub`
739
-
740
757
  There's no replacement for `unstub` in the `expect` syntax. See [this discussion](https://github.com/rspec/rspec-mocks/issues/153#issuecomment-12208638) for more details.
741
758
 
742
- #### Steps to upgrade `obj.stub(:foo => 1, :bar => 2)`
759
+ * This conversion can be disabled by: `--keep stub`
760
+ * Deprecation: deprecated since RSpec 3.0
761
+ * See also:
762
+ * [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
763
+ * [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
764
+
765
+ ### Method stubs with a hash argument
743
766
 
744
- `allow(obj).to receive_messages(:foo => 1, :bar => 2)` which is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0 (though [it's now being considered to be backported to RSpec 2.99](https://github.com/rspec/rspec-mocks/issues/454)). So, in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), if you want to convert them with keeping the syntax correspondence, you need to follow these steps:
767
+ Targets:
768
+
769
+ ```ruby
770
+ obj.stub(:foo => 1, :bar => 2)
771
+ ```
772
+
773
+ Will be converted to:
774
+
775
+ ```ruby
776
+ # If the target project's RSpec is 3.0.0.beta1 or later
777
+ allow(obj).to receive_messages(:foo => 1, :bar => 2)
778
+
779
+ # If the target project's RSpec is prior to 3.0.0.beta1
780
+ obj.stub(:foo => 1, :bar => 2) # No conversion
781
+
782
+ # If the target project's RSpec is prior to 3.0.0.beta1
783
+ # and `--convert-stub-with-hash` is specified
784
+ allow(obj).to receive(:foo).and_return(1)
785
+ allow(obj).to receive(:bar).and_return(2)
786
+ ```
787
+
788
+ `allow(obj).to receive_messages(:foo => 1, :bar => 2)` which is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0.
789
+
790
+ So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), you may need to follow these steps:
745
791
 
746
792
  1. Upgrade to RSpec 2.99
747
- 2. Run `transpec --keep stub`
793
+ 2. Run `transpec` (at this time `obj.stub(:message => value)` won't be converted)
748
794
  3. Upgrade to RSpec 3.0
749
- 4. Run `transpec`
795
+ 4. Run `transpec` again to convert `obj.stub(:message => value)`
750
796
 
751
- Otherwise `obj.stub(:foo => 1, :bar => 2)` will be converted to two `allow(obj).to receive(...).and_return(...)` expressions on RSpec 2.99.
752
-
753
- ---
797
+ Or if you're going to stay RSpec 2.14 for now but want to convert all `stub` to `allow` statements, run `transpec` with `--convert-stub-with-hash` option. Note that once the conversion is done, multiple statements cannot be merged into a `receive_messages`.
754
798
 
755
799
  * This conversion can be disabled by: `--keep stub`
756
800
  * Deprecation: deprecated since RSpec 3.0
757
- * See also:
758
- * [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
759
- * [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
760
- * [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
801
+ * See also: [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
761
802
 
762
803
  ### Deprecated method stub aliases
763
804
 
data/README.md.erb CHANGED
@@ -45,7 +45,7 @@ describe Account do
45
45
  describe '#renew' do
46
46
  context 'when the account is renewable and not closed' do
47
47
  before do
48
- account.stub(:renewable? => true, :closed? => false)
48
+ account.stub(:closed?).and_return(false)
49
49
  end
50
50
 
51
51
  it 'does not raise error' do
@@ -118,7 +118,7 @@ After the conversion, run `rspec` again and check whether everything is green:
118
118
  $ bundle exec rspec
119
119
  ```
120
120
 
121
- If it's green, commit the changes with an auto-generated message which describes the conversion summary:
121
+ If it's green, commit the changes with an auto-generated message that describes the conversion summary:
122
122
 
123
123
  ```bash
124
124
  $ git commit -aeF .git/COMMIT_EDITMSG
@@ -261,6 +261,14 @@ Note that this is not same as `--keep deprecated` since this configures `yield_r
261
261
 
262
262
  See [Supported Conversions - `any_instance` implementation blocks](#any_instance-implementation-blocks) for more details.
263
263
 
264
+ ### `-t/--convert-stub-with-hash`
265
+
266
+ Enable conversion of `obj.stub(:message => value)` to `allow(obj).to receive(:message).and_return(value)` when `receive_messages(:message => value)` is unavailable (prior to RSpec 3.0).
267
+ It will be converted to multiple statements if the hash includes multiple pairs.
268
+ This conversion is disabled by default.
269
+
270
+ See [Supported Conversions - Method stubs with a hash argument](#method-stubs-with-a-hash-argument) for more details.
271
+
264
272
  ### `-p/--no-parentheses-matcher-arg`
265
273
 
266
274
  Suppress parenthesizing arguments of matchers when converting
@@ -397,6 +405,26 @@ The one-liner (implicit receiver) `should`:
397
405
 
398
406
  ## Supported Conversions
399
407
 
408
+ <%=
409
+
410
+ sections = text.each_line.slice_before(/^## /)
411
+
412
+ supported_conversion_section = sections.find do |section|
413
+ section.first.include?('Supported Conversions')
414
+ end
415
+
416
+ titles = supported_conversion_section.map do |line|
417
+ next unless line.start_with?('### ')
418
+ line.sub(/^[#\s]*/, '').chomp
419
+ end.compact
420
+
421
+ titles.map do |title|
422
+ anchor = '#' + title.gsub(/[^\w_\- ]/, '').downcase.gsub(' ', '-')
423
+ "* [#{title}](#{anchor})"
424
+ end.join("\n")
425
+
426
+ %>
427
+
400
428
  ### Standard expectations
401
429
 
402
430
  Targets:
@@ -705,8 +733,6 @@ Targets:
705
733
  obj.stub(:foo)
706
734
  obj.stub!(:foo)
707
735
 
708
- obj.stub(:foo => 1, :bar => 2)
709
-
710
736
  obj.stub_chain(:foo, :bar, :baz)
711
737
 
712
738
  Klass.any_instance.stub(:foo)
@@ -717,13 +743,6 @@ Will be converted to:
717
743
  ```ruby
718
744
  allow(obj).to receive(:foo)
719
745
 
720
- # If the target project's RSpec is prior to <%= Transpec::RSpecVersion.receive_messages_available_version %>
721
- allow(obj).to receive(:foo).and_return(1)
722
- allow(obj).to receive(:bar).and_return(2)
723
-
724
- # If the target project's RSpec is <%= Transpec::RSpecVersion.receive_messages_available_version %> or later
725
- allow(obj).to receive_messages(:foo => 1, :bar => 2)
726
-
727
746
  # Conversion from `stub_chain` to `receive_message_chain` is available
728
747
  # only if the target project's RSpec is <%= Transpec::RSpecVersion.receive_message_chain_available_version %> (not yet released) or later
729
748
  allow(obj).to receive_message_chain(:foo, :bar, :baz)
@@ -731,29 +750,51 @@ allow(obj).to receive_message_chain(:foo, :bar, :baz)
731
750
  allow_any_instance_of(Klass).to receive(:foo)
732
751
  ```
733
752
 
734
- #### No replacement for `unstub`
735
-
736
753
  There's no replacement for `unstub` in the `expect` syntax. See [this discussion](https://github.com/rspec/rspec-mocks/issues/153#issuecomment-12208638) for more details.
737
754
 
738
- #### Steps to upgrade `obj.stub(:foo => 1, :bar => 2)`
755
+ * This conversion can be disabled by: `--keep stub`
756
+ * Deprecation: deprecated since RSpec 3.0
757
+ * See also:
758
+ * [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
759
+ * [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
760
+
761
+ ### Method stubs with a hash argument
762
+
763
+ Targets:
764
+
765
+ ```ruby
766
+ obj.stub(:foo => 1, :bar => 2)
767
+ ```
768
+
769
+ Will be converted to:
770
+
771
+ ```ruby
772
+ # If the target project's RSpec is <%= Transpec::RSpecVersion.receive_messages_available_version %> or later
773
+ allow(obj).to receive_messages(:foo => 1, :bar => 2)
774
+
775
+ # If the target project's RSpec is prior to <%= Transpec::RSpecVersion.receive_messages_available_version %>
776
+ obj.stub(:foo => 1, :bar => 2) # No conversion
777
+
778
+ # If the target project's RSpec is prior to <%= Transpec::RSpecVersion.receive_messages_available_version %>
779
+ # and `--convert-stub-with-hash` is specified
780
+ allow(obj).to receive(:foo).and_return(1)
781
+ allow(obj).to receive(:bar).and_return(2)
782
+ ```
739
783
 
740
- `allow(obj).to receive_messages(:foo => 1, :bar => 2)` which is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0 (though [it's now being considered to be backported to RSpec 2.99](https://github.com/rspec/rspec-mocks/issues/454)). So, in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), if you want to convert them with keeping the syntax correspondence, you need to follow these steps:
784
+ `allow(obj).to receive_messages(:foo => 1, :bar => 2)` which is designed to be the replacement for `obj.stub(:foo => 1, :bar => 2)` is available from RSpec 3.0.
785
+
786
+ So, if you're going to use Transpec in [the upgrade path to RSpec 3](http://myronmars.to/n/dev-blog/2013/07/the-plan-for-rspec-3#the_upgrade_path), you may need to follow these steps:
741
787
 
742
788
  1. Upgrade to RSpec 2.99
743
- 2. Run `transpec --keep stub`
789
+ 2. Run `transpec` (at this time `obj.stub(:message => value)` won't be converted)
744
790
  3. Upgrade to RSpec 3.0
745
- 4. Run `transpec`
746
-
747
- Otherwise `obj.stub(:foo => 1, :bar => 2)` will be converted to two `allow(obj).to receive(...).and_return(...)` expressions on RSpec 2.99.
791
+ 4. Run `transpec` again to convert `obj.stub(:message => value)`
748
792
 
749
- ---
793
+ Or if you're going to stay RSpec 2.14 for now but want to convert all `stub` to `allow` statements, run `transpec` with `--convert-stub-with-hash` option. Note that once the conversion is done, multiple statements cannot be merged into a `receive_messages`.
750
794
 
751
795
  * This conversion can be disabled by: `--keep stub`
752
796
  * Deprecation: deprecated since RSpec 3.0
753
- * See also:
754
- * [RSpec's new message expectation syntax - Tea is awesome.](http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/)
755
- * [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
756
- * [Bring back stub_chain (receive_message_chain) · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/464)
797
+ * See also: [allow receive with multiple methods · rspec/rspec-mocks](https://github.com/rspec/rspec-mocks/issues/368)
757
798
 
758
799
  ### Deprecated method stub aliases
759
800
 
data/lib/transpec/cli.rb CHANGED
@@ -9,6 +9,7 @@ require 'transpec/option_parser'
9
9
  require 'transpec/project'
10
10
  require 'transpec/report'
11
11
  require 'rainbow'
12
+ require 'rainbow/ext/string' unless String.method_defined?(:color)
12
13
 
13
14
  module Transpec
14
15
  class CLI
@@ -111,7 +112,7 @@ module Transpec
111
112
  Git.write_commit_message(commit_message.to_s)
112
113
 
113
114
  puts
114
- puts 'A commit message which describes the conversion summary was generated to'.color(:cyan)
115
+ puts 'A commit message that describes the conversion summary was generated to'.color(:cyan)
115
116
  puts '.git/COMMIT_EDITMSG. To use the message, type the following command for'.color(:cyan)
116
117
  puts 'the next commit:'.color(:cyan)
117
118
  puts ' git commit -eF .git/COMMIT_EDITMSG'
@@ -16,6 +16,7 @@ module Transpec
16
16
  [:convert_deprecated_method, true],
17
17
  [:parenthesize_matcher_arg, true],
18
18
  [:add_receiver_arg_to_any_instance_implementation_block, true],
19
+ [:convert_stub_with_hash_to_stub_and_return, false],
19
20
  [:forced, false],
20
21
  [:skip_dynamic_analysis, false]
21
22
  ].freeze
@@ -111,7 +111,13 @@ module Transpec
111
111
 
112
112
  def process_method_stub(method_stub)
113
113
  if @configuration.convert_stub?
114
- method_stub.allowize!(@rspec_version)
114
+ if !method_stub.hash_arg? ||
115
+ @rspec_version.receive_messages_available? ||
116
+ @configuration.convert_stub_with_hash_to_stub_and_return?
117
+ method_stub.allowize!(@rspec_version)
118
+ elsif @configuration.convert_deprecated_method?
119
+ method_stub.convert_deprecated_method!
120
+ end
115
121
  elsif @configuration.convert_deprecated_method?
116
122
  method_stub.convert_deprecated_method!
117
123
  end
@@ -5,6 +5,7 @@ require 'transpec/git'
5
5
  require 'transpec/version'
6
6
  require 'optparse'
7
7
  require 'rainbow'
8
+ require 'rainbow/ext/string' unless String.respond_to?(:color)
8
9
 
9
10
  # rubocop:disable ClassLength
10
11
 
@@ -86,6 +87,10 @@ module Transpec
86
87
  @configuration.add_receiver_arg_to_any_instance_implementation_block = false
87
88
  end
88
89
 
90
+ define_option('-t', '--convert-stub-with-hash') do
91
+ @configuration.convert_stub_with_hash_to_stub_and_return = true
92
+ end
93
+
89
94
  define_option('-p', '--no-parentheses-matcher-arg') do
90
95
  @configuration.parenthesize_matcher_arg = false
91
96
  end
@@ -162,6 +167,15 @@ module Transpec
162
167
  "#{'any_instance'.underline} implementation blocks as the",
163
168
  'first block argument.'
164
169
  ],
170
+ '-t' => [
171
+ "Enable conversion of #{'obj.stub(:msg => val)'.underline} to",
172
+ "#{'allow(obj).to receive(:msg).and_return(val)'.underline}",
173
+ "when #{'receive_messages(:msg => val)'.underline} is",
174
+ 'unavailable (prior to RSpec 3.0). It will be',
175
+ 'converted to multiple statements if the hash',
176
+ 'includes multiple pairs. This conversion is',
177
+ 'disabled by default.'
178
+ ],
165
179
  '-p' => [
166
180
  'Suppress parenthesizing arguments of matchers',
167
181
  "when converting #{'should'.underline} with operator matcher",
@@ -190,7 +204,7 @@ module Transpec
190
204
  args.reject do |arg|
191
205
  case arg
192
206
  when '-m', '--generate-commit-message'
193
- warn 'DEPRECATION: -m/--generate-commit-message option is deprecated. ' +
207
+ warn 'DEPRECATION: -m/--generate-commit-message option is deprecated. ' \
194
208
  'A commit message will always be generated.'
195
209
  true
196
210
  else
@@ -2,11 +2,12 @@
2
2
 
3
3
  require 'transpec/syntax'
4
4
  require 'transpec/syntax/mixin/send'
5
+ require 'transpec/syntax/mixin/owned_matcher'
5
6
 
6
7
  module Transpec
7
8
  class Syntax
8
9
  class Have < Syntax
9
- include Mixin::Send
10
+ include Mixin::Send, Mixin::OwnedMatcher
10
11
 
11
12
  # String#count is not query method, and there's no way to determine
12
13
  # whether a method is query method.
@@ -19,10 +20,6 @@ module Transpec
19
20
 
20
21
  attr_reader :expectation
21
22
 
22
- def self.standalone?
23
- false
24
- end
25
-
26
23
  def self.target_method?(have_node, items_method_name)
27
24
  return false unless have_node
28
25
  have_receiver_node, have_method_name, *_ = *have_node
@@ -30,14 +27,6 @@ module Transpec
30
27
  [:have, :have_exactly, :have_at_least, :have_at_most].include?(have_method_name)
31
28
  end
32
29
 
33
- def initialize(node, expectation, source_rewriter = nil, runtime_data = nil, report = nil)
34
- @node = node
35
- @expectation = expectation
36
- @source_rewriter = source_rewriter
37
- @runtime_data = runtime_data
38
- @report = report || Report.new
39
- end
40
-
41
30
  add_dynamic_analysis_request do |rewriter|
42
31
  DynamicInspector.register_request(self, rewriter)
43
32
  end