r_spec-clone 1.7.0 → 1.7.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6014d4cd0ffe271d71ff599cdba7ce291b5329c062aeea611c292dcb9d24d822
4
- data.tar.gz: 96e14ce3c34c9d5d6e9a6c49769c94db2562e2a14eaeae94e6415884f2f5c7eb
3
+ metadata.gz: 7312f229f5e837553c3bf3b36cb833f8ce1b2182f669e66b4c89bd0f38cd40ed
4
+ data.tar.gz: c3fdc659bb67d21bf34e0d1e3e6c8bc7a0a277ffb7217c53e6762a2580863420
5
5
  SHA512:
6
- metadata.gz: c7bd806d2a1a220c86320a6a8fa93bf9b19f60ac2a0b4f03f510f727d6d0132995c0dde783659923c2031d7f0864b63f5137976c136d3c1c90a62ecd8996ef25
7
- data.tar.gz: 4eda5fc59e05cb4a2a20e18cc403a89985552737b551d2f343fedf3b9f98f6dd572ef977c0164926b5b0703a9b91b2901189bcad6823618558c908df6a869c4a
6
+ metadata.gz: f4ebb556448f5bbed16b44a8c2ff643991dd36abf65540349a1b8159ceb6b5c97b2f1081a63f23a47627ccb02f83be45e9155dd5d2199a037372ea1f0516ebcc
7
+ data.tar.gz: f9afb6e9aa7078f8e50ff715d5bc7eb5ac67b24e1038874dc453bd148f30a75581938fbec3a6cd3c8a809ac6b13cdd70ca91368f8208d02735a42a0ce353a8cf
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # The MIT License
2
2
 
3
- Copyright (c) 2015-2022 Cyril Kato
3
+ Copyright (c) 2015-2024 Cyril Kato
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # RSpec clone
1
+ # RSpec clone <img src="https://github.com/cyril/r_spec-clone.rb/raw/main/img/logo.svg" style="height: 1em; width: 1em" />
2
2
 
3
3
  A minimalist __RSpec clone__ with all the essentials.
4
4
 
@@ -7,33 +7,35 @@ A minimalist __RSpec clone__ with all the essentials.
7
7
  ## Status
8
8
 
9
9
  [![Home](https://img.shields.io/badge/Home-r--spec.dev-00af8b)](https://r-spec.dev/)
10
- [![Version](https://img.shields.io/github/v/tag/cyril/r_spec-clone.rb?label=Version&logo=github)](https://github.com/cyril/r_spec-clone.rb/releases)
10
+ [![Version](https://img.shields.io/github/v/tag/cyril/r_spec-clone.rb?label=Version&logo=github)](https://github.com/cyril/r_spec-clone.rb/tags)
11
11
  [![Yard documentation](https://img.shields.io/badge/Yard-documentation-blue.svg?logo=github)](https://rubydoc.info/github/cyril/r_spec-clone.rb/main)
12
- [![CI](https://github.com/cyril/r_spec-clone.rb/workflows/CI/badge.svg?branch=main)](https://github.com/cyril/r_spec-clone.rb/actions?query=workflow%3Aci+branch%3Amain)
12
+ [![Ruby](https://github.com/cyril/r_spec-clone.rb/workflows/Ruby/badge.svg?branch=main)](https://github.com/cyril/r_spec-clone.rb/actions?query=workflow%3Aruby+branch%3Amain)
13
13
  [![RuboCop](https://github.com/cyril/r_spec-clone.rb/workflows/RuboCop/badge.svg?branch=main)](https://github.com/cyril/r_spec-clone.rb/actions?query=workflow%3Arubocop+branch%3Amain)
14
14
  [![License](https://img.shields.io/github/license/cyril/r_spec-clone.rb?label=License&logo=github)](https://github.com/cyril/r_spec-clone.rb/raw/main/LICENSE.md)
15
15
 
16
- ## Project goals
16
+ ## Project Goals
17
17
 
18
- 1. Keep code complexity low, avoid false negatives and false positives.
19
- 2. Load specifications in simple, atomic and thread safe Ruby primitives.
20
- 3. Avoid overloading the interface with additional alternative syntaxes.
21
- 4. Provide the basics of DSL RSpec to write tests.
18
+ 1. Maintain low code complexity to avoid false negatives and false positives.
19
+ 2. Implement the loading of specifications using simple, atomic, and thread-safe Ruby primitives.
20
+ 3. Avoid cluttering the interface with unnecessary alternative syntaxes.
21
+ 4. Provide the basics of the RSpec DSL for writing tests.
22
22
 
23
- ## Some differences
23
+ ## Some Differences
24
24
 
25
- * There is no option to enable monkey-patching.
26
- * It does not rely on [hacks such as `at_exit` hook](https://blog.arkency.com/2013/06/are-we-abusing-at-exit/) to trigger the tests.
27
- * Malicious _actual values_ cannot [hack results](https://asciinema.org/a/423547?autoplay=1&speed=2).
28
- * If no `subject` has been explicitly determined, none is defined.
29
- * If no described class is set, `described_class` is undefined instead of `nil`.
25
+ * Monkey-patching is not an available option.
26
+ * The framework does not use [hacks such as the `at_exit` hook](https://blog.arkency.com/2013/06/are-we-abusing-at-exit/) to trigger tests.
27
+ * Malicious _actual values_ cannot [compromise results](https://asciinema.org/a/423547?autoplay=1&speed=2).
28
+ * If no `subject` is explicitly determined, it remains undefined.
29
+ * If no described class is set, `described_class` is undefined rather than `nil`.
30
30
  * Expectations cannot be added inside a `before` block.
31
- * [Arbitrary helper methods](https://relishapp.com/rspec/rspec-core/v/3-10/docs/helper-methods/arbitrary-helper-methods) are not exposed to examples.
31
+ * [Arbitrary helper methods](https://relishapp.com/rspec/rspec-core/v/3-10/docs/helper-methods/arbitrary-helper-methods) are not accessible within examples.
32
32
  * The `let` method defines a helper method rather than a memoized helper method.
33
- * The one-liner `is_expected` syntax also works with block expectations.
34
- * `subject`, `before` and `let` definitions must come before examples.
35
- * The execution of the test suite stops as soon as an error is detected.
36
- * Each `context` block isolates its tests and possible side effects.
33
+ * The one-liner `is_expected` syntax is compatible with block expectations.
34
+ * Definitions of `subject`, `before`, and `let` must precede examples.
35
+ * The `after` hook is unsupported.
36
+ * The execution of the test suite halts immediately when an error is detected.
37
+ * Each `context` block isolates its tests and any potential side effects.
38
+ * The `its` method is available without the need for external dependencies.
37
39
 
38
40
  ## Installation
39
41
 
@@ -46,7 +48,7 @@ gem "r_spec-clone"
46
48
  And then execute:
47
49
 
48
50
  ```sh
49
- bundle
51
+ bundle install
50
52
  ```
51
53
 
52
54
  Or install it yourself as:
@@ -59,7 +61,7 @@ gem install r_spec-clone
59
61
 
60
62
  __RSpec clone__ provides a structure for writing executable examples of how your code should behave.
61
63
 
62
- Inspired by RSpec, it includes a domain specific language (DSL) that allows you to write examples in a way similar to plain english.
64
+ Inspired by RSpec, it includes a domain-specific language (DSL) that allows you to write examples in a way similar to plain english.
63
65
 
64
66
  A basic spec looks something like this:
65
67
 
@@ -67,10 +69,10 @@ A basic spec looks something like this:
67
69
 
68
70
  ## Usage
69
71
 
70
- ### Anatomy of a spec file
72
+ ### Anatomy of a Spec File
71
73
 
72
- To use the `RSpec` module and its DSL, you need to add `require "r_spec"` to your spec files.
73
- Many projects use a custom spec helper which organizes these includes.
74
+ To utilize the `RSpec` module and its DSL, include `require "r_spec"` in your spec files.
75
+ Many projects organize these includes through a custom spec helper.
74
76
 
75
77
  Concrete test cases are defined in `it` blocks.
76
78
  An optional (but recommended) descriptive string or module indicates the purpose of the test and a block contains the main logic of the test.
@@ -79,10 +79,10 @@ module RSpec
79
79
  # @return [Symbol] A private method that define the block content.
80
80
  #
81
81
  # @api public
82
- def self.let(name, *args, **kwargs, &block)
82
+ def self.let(name, ...)
83
83
  raise Error::ReservedMethod if BEFORE_METHOD.equal?(name.to_sym)
84
84
 
85
- private define_method(name, *args, **kwargs, &block)
85
+ private define_method(name, ...)
86
86
  end
87
87
 
88
88
  # Sets a user-defined property named {#subject}.
@@ -113,8 +113,8 @@ module RSpec
113
113
  # @return [Symbol] A {#subject} method that define the block content.
114
114
  #
115
115
  # @api public
116
- def self.subject(&block)
117
- let(__method__, &block)
116
+ def self.subject(&)
117
+ let(__method__, &)
118
118
  end
119
119
 
120
120
  # Defines an example group that describes a unit to be tested.
@@ -135,10 +135,10 @@ module RSpec
135
135
  # @param block [Proc] The block to define the specs.
136
136
  #
137
137
  # @api public
138
- def self.describe(const, &block)
138
+ def self.describe(const, &)
139
139
  desc = ::Class.new(self)
140
140
  desc.let(:described_class) { const } if const.is_a?(::Module)
141
- desc.instance_eval(&block)
141
+ desc.instance_eval(&)
142
142
  end
143
143
 
144
144
  # :nocov:
@@ -273,10 +273,10 @@ module RSpec
273
273
  # @return (see ExpectationTarget::Base#result)
274
274
  #
275
275
  # @api public
276
- def self.its(attribute, *args, **kwargs, &block)
276
+ def self.its(attribute, *, **, &block)
277
277
  Logger.source(*block.source_location)
278
- example_with_attribute(attribute, *args, **kwargs).new
279
- .instance_eval(&block)
278
+ example_with_attribute(attribute, *, **).new
279
+ .instance_eval(&block)
280
280
  end
281
281
 
282
282
  # :nocov:
@@ -15,7 +15,6 @@ module RSpec
15
15
  actual: new(message),
16
16
  definition: "raise exception #{self}",
17
17
  error: nil,
18
- expected: self,
19
18
  got: false,
20
19
  negate: true,
21
20
  level: :SHOULD
@@ -18,12 +18,12 @@ module RSpec
18
18
  #
19
19
  # @example
20
20
  # matcher = eq("foo")
21
- # matcher.matches? { "foo" } # => true
22
- # matcher.matches? { "bar" } # => false
21
+ # matcher.match? { "foo" } # => true
22
+ # matcher.match? { "bar" } # => false
23
23
  #
24
24
  # @param expected [#eql?] An expected equivalent object.
25
25
  #
26
- # @return [#matches?] An equivalence matcher.
26
+ # @return [#match?] An equivalence matcher.
27
27
  #
28
28
  # @api public
29
29
  def eq(expected)
@@ -37,12 +37,12 @@ module RSpec
37
37
  # @example
38
38
  # object = "foo"
39
39
  # matcher = be(object)
40
- # matcher.matches? { object } # => true
41
- # matcher.matches? { "foo" } # => false
40
+ # matcher.match? { object } # => true
41
+ # matcher.match? { "foo" } # => false
42
42
  #
43
43
  # @param expected [#equal?] The expected identical object.
44
44
  #
45
- # @return [#matches?] An identity matcher.
45
+ # @return [#match?] An identity matcher.
46
46
  #
47
47
  # @api public
48
48
  def be(expected)
@@ -55,12 +55,12 @@ module RSpec
55
55
  #
56
56
  # @example
57
57
  # matcher = be_within(1).of(41)
58
- # matcher.matches? { 42 } # => true
59
- # matcher.matches? { 43 } # => false
58
+ # matcher.match? { 42 } # => true
59
+ # matcher.match? { 43 } # => false
60
60
  #
61
61
  # @param delta [Numeric] A numeric value.
62
62
  #
63
- # @return [#matches?] A comparison matcher.
63
+ # @return [#match?] A comparison matcher.
64
64
  #
65
65
  # @api public
66
66
  def be_within(delta)
@@ -71,12 +71,12 @@ module RSpec
71
71
  #
72
72
  # @example
73
73
  # matcher = match(/^foo$/)
74
- # matcher.matches? { "foo" } # => true
75
- # matcher.matches? { "bar" } # => false
74
+ # matcher.match? { "foo" } # => true
75
+ # matcher.match? { "bar" } # => false
76
76
  #
77
77
  # @param expected [#match] A regular expression.
78
78
  #
79
- # @return [#matches?] A regular expression matcher.
79
+ # @return [#match?] A regular expression matcher.
80
80
  #
81
81
  # @api public
82
82
  def match(expected)
@@ -87,12 +87,12 @@ module RSpec
87
87
  #
88
88
  # @example
89
89
  # matcher = raise_exception(NameError)
90
- # matcher.matches? { RSpec::Clone::Boom! } # => true
91
- # matcher.matches? { true } # => false
90
+ # matcher.match? { RSpec::Clone::Boom! } # => true
91
+ # matcher.match? { true } # => false
92
92
  #
93
93
  # @param expected [Exception, #to_s] The expected exception name.
94
94
  #
95
- # @return [#matches?] An error matcher.
95
+ # @return [#match?] An error matcher.
96
96
  #
97
97
  # @api public
98
98
  def raise_exception(expected)
@@ -103,12 +103,12 @@ module RSpec
103
103
  #
104
104
  # @example
105
105
  # matcher = be_true
106
- # matcher.matches? { true } # => true
107
- # matcher.matches? { false } # => false
108
- # matcher.matches? { nil } # => false
109
- # matcher.matches? { 4 } # => false
106
+ # matcher.match? { true } # => true
107
+ # matcher.match? { false } # => false
108
+ # matcher.match? { nil } # => false
109
+ # matcher.match? { 4 } # => false
110
110
  #
111
- # @return [#matches?] A `true` matcher.
111
+ # @return [#match?] A `true` matcher.
112
112
  #
113
113
  # @api public
114
114
  def be_true
@@ -119,12 +119,12 @@ module RSpec
119
119
  #
120
120
  # @example
121
121
  # matcher = be_false
122
- # matcher.matches? { false } # => true
123
- # matcher.matches? { true } # => false
124
- # matcher.matches? { nil } # => false
125
- # matcher.matches? { 4 } # => false
122
+ # matcher.match? { false } # => true
123
+ # matcher.match? { true } # => false
124
+ # matcher.match? { nil } # => false
125
+ # matcher.match? { 4 } # => false
126
126
  #
127
- # @return [#matches?] A `false` matcher.
127
+ # @return [#match?] A `false` matcher.
128
128
  #
129
129
  # @api public
130
130
  def be_false
@@ -135,12 +135,12 @@ module RSpec
135
135
  #
136
136
  # @example
137
137
  # matcher = be_nil
138
- # matcher.matches? { nil } # => true
139
- # matcher.matches? { false } # => false
140
- # matcher.matches? { true } # => false
141
- # matcher.matches? { 4 } # => false
138
+ # matcher.match? { nil } # => true
139
+ # matcher.match? { false } # => false
140
+ # matcher.match? { true } # => false
141
+ # matcher.match? { 4 } # => false
142
142
  #
143
- # @return [#matches?] A `nil` matcher.
143
+ # @return [#match?] A `nil` matcher.
144
144
  #
145
145
  # @api public
146
146
  def be_nil
@@ -151,12 +151,12 @@ module RSpec
151
151
  #
152
152
  # @example
153
153
  # matcher = be_an_instance_of(String)
154
- # matcher.matches? { "foo" } # => true
155
- # matcher.matches? { 4 } # => false
154
+ # matcher.match? { "foo" } # => true
155
+ # matcher.match? { 4 } # => false
156
156
  #
157
157
  # @param expected [Class, #to_s] The expected class name.
158
158
  #
159
- # @return [#matches?] A type/class matcher.
159
+ # @return [#match?] A type/class matcher.
160
160
  #
161
161
  # @api public
162
162
  def be_an_instance_of(expected)
@@ -168,49 +168,49 @@ module RSpec
168
168
  # @example
169
169
  # object = []
170
170
  # matcher = change(object, :length).by(1)
171
- # matcher.matches? { object << 1 } # => true
171
+ # matcher.match? { object << 1 } # => true
172
172
  #
173
173
  # object = []
174
174
  # matcher = change(object, :length).by_at_least(1)
175
- # matcher.matches? { object << 1 } # => true
175
+ # matcher.match? { object << 1 } # => true
176
176
  #
177
177
  # object = []
178
178
  # matcher = change(object, :length).by_at_most(1)
179
- # matcher.matches? { object << 1 } # => true
179
+ # matcher.match? { object << 1 } # => true
180
180
  #
181
181
  # object = "foo"
182
182
  # matcher = change(object, :to_s).from("foo").to("FOO")
183
- # matcher.matches? { object.upcase! } # => true
183
+ # matcher.match? { object.upcase! } # => true
184
184
  #
185
185
  # object = "foo"
186
186
  # matcher = change(object, :to_s).to("FOO")
187
- # matcher.matches? { object.upcase! } # => true
187
+ # matcher.match? { object.upcase! } # => true
188
188
  #
189
189
  # @param object [#object_id] An object.
190
190
  # @param method [Symbol] The name of a method.
191
191
  # @param args [Array] A list of arguments.
192
192
  # @param kwargs [Hash] A list of keyword arguments.
193
193
  #
194
- # @return [#matches?] A change matcher.
194
+ # @return [#match?] A change matcher.
195
195
  #
196
196
  # @api public
197
- def change(object, method, *args, **kwargs, &block)
198
- ::Matchi::Change.new(object, method, *args, **kwargs, &block)
197
+ def change(object, method, ...)
198
+ ::Matchi::Change.new(object, method, ...)
199
199
  end
200
200
 
201
201
  # Satisfy matcher
202
202
  #
203
203
  # @example
204
204
  # matcher = satisfy { |value| value == 42 }
205
- # matcher.matches? { 42 } # => true
205
+ # matcher.match? { 42 } # => true
206
206
  #
207
207
  # @param expected [Proc] A block of code.
208
208
  #
209
- # @return [#matches?] A satisfy matcher.
209
+ # @return [#match?] A satisfy matcher.
210
210
  #
211
211
  # @api public
212
- def satisfy(&expected)
213
- ::Matchi::Satisfy.new(&expected)
212
+ def satisfy(&)
213
+ ::Matchi::Satisfy.new(&)
214
214
  end
215
215
 
216
216
  private
@@ -219,12 +219,12 @@ module RSpec
219
219
  #
220
220
  # @example Empty predicate matcher
221
221
  # matcher = be_empty
222
- # matcher.matches? { [] } # => true
223
- # matcher.matches? { [4] } # => false
224
- def method_missing(name, *args, **kwargs, &block)
222
+ # matcher.match? { [] } # => true
223
+ # matcher.match? { [4] } # => false
224
+ def method_missing(name, ...)
225
225
  return super unless predicate_matcher_name?(name)
226
226
 
227
- ::Matchi::Predicate.new(name, *args, **kwargs, &block)
227
+ ::Matchi::Predicate.new(name, ...)
228
228
  end
229
229
 
230
230
  # :nocov:
@@ -25,14 +25,14 @@ module RSpec
25
25
  # @example _Absolute requirement_ definition
26
26
  # expect { "foo".upcase }.to eq("foo")
27
27
  #
28
- # @param matcher [#matches?] The matcher.
28
+ # @param matcher [#match?] The matcher.
29
29
  #
30
30
  # @raise (see #result)
31
31
  # @return (see #result)
32
32
  #
33
33
  # @api public
34
34
  def to(matcher)
35
- absolute_requirement(matcher: matcher, negate: false)
35
+ absolute_requirement(matcher:, negate: false)
36
36
  end
37
37
 
38
38
  # Runs the given expectation, passing if `matcher` returns false.
@@ -47,13 +47,13 @@ module RSpec
47
47
  #
48
48
  # @api public
49
49
  def not_to(matcher)
50
- absolute_requirement(matcher: matcher, negate: true)
50
+ absolute_requirement(matcher:, negate: true)
51
51
  end
52
52
 
53
53
  protected
54
54
 
55
55
  # @param test [::TestTube::Base] The state of the experiment.
56
- # @param matcher [#matches?] The matcher.
56
+ # @param matcher [#match?] The matcher.
57
57
  # @param negate [Boolean] The assertion is positive or negative.
58
58
  #
59
59
  # @return [nil] Write a message to STDOUT.
@@ -66,8 +66,8 @@ module RSpec
66
66
  actual: test.actual,
67
67
  error: test.error,
68
68
  got: test.got,
69
- matcher: matcher,
70
- negate: negate
69
+ matcher:,
70
+ negate:
71
71
  )
72
72
  end
73
73
 
@@ -88,7 +88,7 @@ module RSpec
88
88
  # @param actual [#object_id] The actual value.
89
89
  # @param error [Exception, nil] Any raised exception.
90
90
  # @param got [Boolean, nil] Any returned value.
91
- # @param matcher [#matches?] The matcher.
91
+ # @param matcher [#match?] The matcher.
92
92
  # @param negate [Boolean] The assertion is positive or negative.
93
93
  #
94
94
  # @return [nil] Write a message to STDOUT.
@@ -97,12 +97,11 @@ module RSpec
97
97
  # `Kernel.exit(false)` with a failure message written to STDERR.
98
98
  def result(passed, actual:, error:, got:, matcher:, negate:)
99
99
  Logger.passed_spec ::Expresenter.call(passed).with(
100
- actual: actual,
100
+ actual:,
101
101
  definition: matcher.to_s,
102
- error: error,
103
- expected: matcher.expected,
104
- got: got,
105
- negate: negate,
102
+ error:,
103
+ got:,
104
+ negate:,
106
105
  level: :MUST
107
106
  )
108
107
  rescue ::Expresenter::Fail => e
@@ -21,7 +21,7 @@ module RSpec
21
21
  class Block < Base
22
22
  protected
23
23
 
24
- # @param matcher [#matches?] The matcher.
24
+ # @param matcher [#match?] The matcher.
25
25
  # @param negate [Boolean] The assertion is positive or negative.
26
26
  #
27
27
  # @return (see Base#absolute_requirement)
@@ -29,9 +29,9 @@ module RSpec
29
29
  # @raise (see Base#absolute_requirement)
30
30
  def absolute_requirement(matcher:, negate:)
31
31
  super(
32
- ::TestTube.invoke(isolate: false, matcher: matcher, negate: negate, &@input),
33
- matcher: matcher,
34
- negate: negate
32
+ ::TestTube.invoke(matcher:, negate:, &@input),
33
+ matcher:,
34
+ negate:
35
35
  )
36
36
  end
37
37
  end
@@ -21,7 +21,7 @@ module RSpec
21
21
  class Value < Base
22
22
  protected
23
23
 
24
- # @param matcher [#matches?] The matcher.
24
+ # @param matcher [#match?] The matcher.
25
25
  # @param negate [Boolean] The assertion is positive or negative.
26
26
  #
27
27
  # @return (see Base#absolute_requirement)
@@ -29,9 +29,9 @@ module RSpec
29
29
  # @raise (see Base#absolute_requirement)
30
30
  def absolute_requirement(matcher:, negate:)
31
31
  super(
32
- ::TestTube.pass(@input, matcher: matcher, negate: negate),
33
- matcher: matcher,
34
- negate: negate
32
+ ::TestTube.pass(@input, matcher:, negate:),
33
+ matcher:,
34
+ negate:
35
35
  )
36
36
  end
37
37
  end
data/lib/r_spec.rb CHANGED
@@ -83,8 +83,8 @@ module RSpec
83
83
  # @param description [String] A description that usually begins with "when",
84
84
  # "with" or "without".
85
85
  # @param block [Proc] The block to define the specs.
86
- def self.context(description, &block)
87
- Clone::Dsl.context(description, &block)
86
+ def self.context(description, &)
87
+ Clone::Dsl.context(description, &)
88
88
  end
89
89
 
90
90
  # :nocov:
@@ -117,8 +117,8 @@ module RSpec
117
117
  #
118
118
  # @param const [Module, String] A module to include in block context.
119
119
  # @param block [Proc] The block to define the specs.
120
- def self.describe(const, &block)
121
- Clone::Dsl.describe(const, &block)
120
+ def self.describe(const, &)
121
+ Clone::Dsl.describe(const, &)
122
122
  end
123
123
 
124
124
  # :nocov:
@@ -143,8 +143,8 @@ module RSpec
143
143
  #
144
144
  # @raise (see RSpec::Clone::ExpectationTarget::Base#result)
145
145
  # @return (see RSpec::Clone::ExpectationTarget::Base#result)
146
- def self.it(name = nil, &block)
147
- Clone::Dsl.it(name, &block)
146
+ def self.it(name = nil, &)
147
+ Clone::Dsl.it(name, &)
148
148
  end
149
149
 
150
150
  # :nocov:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: r_spec-clone
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Kato
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-05 00:00:00.000000000 Z
11
+ date: 2024-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: expresenter
@@ -16,168 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.4.0
19
+ version: 1.5.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.4.0
26
+ version: 1.5.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: matchi
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 3.3.1
33
+ version: 4.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 3.3.1
40
+ version: 4.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: test_tube
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 2.1.3
47
+ version: 4.0.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 2.1.3
55
- - !ruby/object:Gem::Dependency
56
- name: bundler
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: rake
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop-md
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: rubocop-performance
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: rubocop-rake
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: '0'
118
- type: :development
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rubocop-rspec
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: rubocop-thread_safety
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :development
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
- - !ruby/object:Gem::Dependency
154
- name: simplecov
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- version: '0'
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - ">="
165
- - !ruby/object:Gem::Version
166
- version: '0'
167
- - !ruby/object:Gem::Dependency
168
- name: yard
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - ">="
172
- - !ruby/object:Gem::Version
173
- version: '0'
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - ">="
179
- - !ruby/object:Gem::Version
180
- version: '0'
54
+ version: 4.0.0
181
55
  description: A minimalist RSpec clone with all the essentials.
182
56
  email: contact@cyril.email
183
57
  executables: []
@@ -212,7 +86,7 @@ metadata:
212
86
  source_code_uri: https://github.com/cyril/r_spec-clone.rb
213
87
  wiki_uri: https://github.com/cyril/r_spec-clone.rb/wiki
214
88
  rubygems_mfa_required: 'true'
215
- post_install_message:
89
+ post_install_message:
216
90
  rdoc_options: []
217
91
  require_paths:
218
92
  - lib
@@ -220,15 +94,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
220
94
  requirements:
221
95
  - - ">="
222
96
  - !ruby/object:Gem::Version
223
- version: 3.0.4
97
+ version: 3.2.4
224
98
  required_rubygems_version: !ruby/object:Gem::Requirement
225
99
  requirements:
226
100
  - - ">="
227
101
  - !ruby/object:Gem::Version
228
102
  version: '0'
229
103
  requirements: []
230
- rubygems_version: 3.2.33
231
- signing_key:
104
+ rubygems_version: 3.4.19
105
+ signing_key:
232
106
  specification_version: 4
233
107
  summary: A minimalist RSpec clone
234
108
  test_files: []