much-stub 0.1.1 → 0.1.2
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 +4 -4
- data/Gemfile +1 -1
- data/README.md +223 -39
- data/lib/much-stub.rb +14 -12
- data/lib/much-stub/version.rb +1 -1
- data/much-stub.gemspec +3 -3
- data/test/helper.rb +3 -3
- data/test/support/factory.rb +1 -2
- data/test/system/much-stub_tests.rb +204 -223
- data/test/unit/much-stub_tests.rb +96 -94
- metadata +5 -5
@@ -1,16 +1,15 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require "assert"
|
2
|
+
require "much-stub"
|
3
3
|
|
4
|
-
require
|
4
|
+
require "test/support/factory"
|
5
5
|
|
6
6
|
module MuchStub
|
7
|
-
|
8
7
|
class UnitTests < Assert::Context
|
9
8
|
desc "MuchStub"
|
10
9
|
end
|
11
10
|
|
12
|
-
class
|
13
|
-
desc "
|
11
|
+
class APITests < UnitTests
|
12
|
+
desc "API"
|
14
13
|
setup do
|
15
14
|
@orig_value = Factory.string
|
16
15
|
@stub_value = Factory.string
|
@@ -69,8 +68,8 @@ module MuchStub
|
|
69
68
|
|
70
69
|
should "be able to call a stub's original method" do
|
71
70
|
err = assert_raises(NotStubbedError){ MuchStub.stub_send(@myobj, :mymeth) }
|
72
|
-
assert_includes
|
73
|
-
assert_includes
|
71
|
+
assert_includes "not stubbed.", err.message
|
72
|
+
assert_includes "test/unit/much-stub_tests.rb", err.backtrace.first
|
74
73
|
|
75
74
|
MuchStub.(@myobj, :mymeth){ @stub_value }
|
76
75
|
|
@@ -78,13 +77,22 @@ module MuchStub
|
|
78
77
|
assert_equal @orig_value, MuchStub.stub_send(@myobj, :mymeth)
|
79
78
|
end
|
80
79
|
|
80
|
+
should "be able to add a stub tap" do
|
81
|
+
my_meth_called_with = nil
|
82
|
+
MuchStub.tap(@myobj, :mymeth){ |value, *args, &block|
|
83
|
+
my_meth_called_with = args
|
84
|
+
}
|
85
|
+
|
86
|
+
assert_equal @orig_value, @myobj.mymeth
|
87
|
+
assert_equal [], my_meth_called_with
|
88
|
+
end
|
81
89
|
end
|
82
90
|
|
83
91
|
class StubTests < UnitTests
|
84
92
|
desc "Stub"
|
85
93
|
setup do
|
86
94
|
@myclass = Class.new do
|
87
|
-
def mymeth;
|
95
|
+
def mymeth; "meth"; end
|
88
96
|
def myval(val); val; end
|
89
97
|
def myargs(*args); args; end
|
90
98
|
def myvalargs(val1, val2, *args); [val1, val2, args]; end
|
@@ -108,7 +116,7 @@ module MuchStub
|
|
108
116
|
end
|
109
117
|
|
110
118
|
should "know its names" do
|
111
|
-
assert_equal
|
119
|
+
assert_equal "mymeth", subject.method_name
|
112
120
|
expected = "__muchstub_stub__#{@myobj.object_id}_#{subject.method_name}"
|
113
121
|
assert_equal expected, subject.name
|
114
122
|
expected = "@__muchstub_stub_#{@myobj.object_id}_" \
|
@@ -118,23 +126,23 @@ module MuchStub
|
|
118
126
|
|
119
127
|
should "complain when called if no do block was given" do
|
120
128
|
err = assert_raises(MuchStub::NotStubbedError){ @myobj.mymeth }
|
121
|
-
assert_includes
|
122
|
-
assert_includes
|
129
|
+
assert_includes "not stubbed.", err.message
|
130
|
+
assert_includes "test/unit/much-stub_tests.rb", err.backtrace.first
|
123
131
|
|
124
|
-
subject.do = proc{
|
132
|
+
subject.do = proc{ "mymeth" }
|
125
133
|
assert_nothing_raised do
|
126
134
|
@myobj.mymeth
|
127
135
|
end
|
128
136
|
|
129
137
|
assert_nothing_raised do
|
130
|
-
MuchStub::Stub.new(@myobj, :mymeth){
|
138
|
+
MuchStub::Stub.new(@myobj, :mymeth){ "mymeth" }
|
131
139
|
end
|
132
140
|
end
|
133
141
|
|
134
142
|
should "complain if stubbing a method that the object doesn't respond to" do
|
135
143
|
err = assert_raises(MuchStub::StubError){ MuchStub::Stub.new(@myobj, :some_other_meth) }
|
136
|
-
assert_includes
|
137
|
-
assert_includes
|
144
|
+
assert_includes "does not respond to", err.message
|
145
|
+
assert_includes "test/unit/much-stub_tests.rb", err.backtrace.first
|
138
146
|
end
|
139
147
|
|
140
148
|
should "complain if stubbed and called with no `do` proc given" do
|
@@ -142,20 +150,20 @@ module MuchStub
|
|
142
150
|
end
|
143
151
|
|
144
152
|
should "complain if stubbed and called with mismatched arity" do
|
145
|
-
MuchStub::Stub.new(@myobj, :myval){
|
153
|
+
MuchStub::Stub.new(@myobj, :myval){ "myval" }
|
146
154
|
err = assert_raises(MuchStub::StubArityError){ @myobj.myval }
|
147
|
-
assert_includes
|
148
|
-
assert_includes
|
155
|
+
assert_includes "arity mismatch on", err.message
|
156
|
+
assert_includes "test/unit/much-stub_tests.rb", err.backtrace.first
|
149
157
|
|
150
158
|
assert_nothing_raised { @myobj.myval(1) }
|
151
159
|
assert_raises(MuchStub::StubArityError){ @myobj.myval(1,2) }
|
152
160
|
|
153
|
-
MuchStub::Stub.new(@myobj, :myargs){
|
161
|
+
MuchStub::Stub.new(@myobj, :myargs){ "myargs" }
|
154
162
|
assert_nothing_raised { @myobj.myargs }
|
155
163
|
assert_nothing_raised { @myobj.myargs(1) }
|
156
164
|
assert_nothing_raised { @myobj.myargs(1,2) }
|
157
165
|
|
158
|
-
MuchStub::Stub.new(@myobj, :myvalargs){
|
166
|
+
MuchStub::Stub.new(@myobj, :myvalargs){ "myvalargs" }
|
159
167
|
assert_raises(MuchStub::StubArityError){ @myobj.myvalargs }
|
160
168
|
assert_raises(MuchStub::StubArityError){ @myobj.myvalargs(1) }
|
161
169
|
assert_nothing_raised { @myobj.myvalargs(1,2) }
|
@@ -164,75 +172,75 @@ module MuchStub
|
|
164
172
|
|
165
173
|
should "complain if stubbed with mismatched arity" do
|
166
174
|
err = assert_raises(MuchStub::StubArityError) do
|
167
|
-
MuchStub::Stub.new(@myobj, :myval).with(){
|
175
|
+
MuchStub::Stub.new(@myobj, :myval).with(){ "myval" }
|
168
176
|
end
|
169
|
-
assert_includes
|
170
|
-
assert_includes
|
177
|
+
assert_includes "arity mismatch on", err.message
|
178
|
+
assert_includes "test/unit/much-stub_tests.rb", err.backtrace.first
|
171
179
|
|
172
180
|
assert_raises(MuchStub::StubArityError) do
|
173
|
-
MuchStub::Stub.new(@myobj, :myval).with(1,2){
|
181
|
+
MuchStub::Stub.new(@myobj, :myval).with(1,2){ "myval" }
|
174
182
|
end
|
175
183
|
assert_nothing_raised do
|
176
|
-
MuchStub::Stub.new(@myobj, :myval).with(1){
|
184
|
+
MuchStub::Stub.new(@myobj, :myval).with(1){ "myval" }
|
177
185
|
end
|
178
186
|
|
179
187
|
assert_nothing_raised do
|
180
|
-
MuchStub::Stub.new(@myobj, :myargs).with(){
|
188
|
+
MuchStub::Stub.new(@myobj, :myargs).with(){ "myargs" }
|
181
189
|
end
|
182
190
|
assert_nothing_raised do
|
183
|
-
MuchStub::Stub.new(@myobj, :myargs).with(1,2){
|
191
|
+
MuchStub::Stub.new(@myobj, :myargs).with(1,2){ "myargs" }
|
184
192
|
end
|
185
193
|
assert_nothing_raised do
|
186
|
-
MuchStub::Stub.new(@myobj, :myargs).with(1){
|
194
|
+
MuchStub::Stub.new(@myobj, :myargs).with(1){ "myargs" }
|
187
195
|
end
|
188
196
|
|
189
197
|
assert_raises(MuchStub::StubArityError) do
|
190
|
-
MuchStub::Stub.new(@myobj, :myvalargs).with(){
|
198
|
+
MuchStub::Stub.new(@myobj, :myvalargs).with(){ "myvalargs" }
|
191
199
|
end
|
192
200
|
assert_raises(MuchStub::StubArityError) do
|
193
|
-
MuchStub::Stub.new(@myobj, :myvalargs).with(1){
|
201
|
+
MuchStub::Stub.new(@myobj, :myvalargs).with(1){ "myvalargs" }
|
194
202
|
end
|
195
203
|
assert_nothing_raised do
|
196
|
-
MuchStub::Stub.new(@myobj, :myvalargs).with(1,2){
|
204
|
+
MuchStub::Stub.new(@myobj, :myvalargs).with(1,2){ "myvalargs" }
|
197
205
|
end
|
198
206
|
assert_nothing_raised do
|
199
|
-
MuchStub::Stub.new(@myobj, :myvalargs).with(1,2,3){
|
207
|
+
MuchStub::Stub.new(@myobj, :myvalargs).with(1,2,3){ "myvalargs" }
|
200
208
|
end
|
201
209
|
end
|
202
210
|
|
203
211
|
should "stub methods with no args" do
|
204
212
|
subject.teardown
|
205
213
|
|
206
|
-
assert_equal
|
207
|
-
MuchStub::Stub.new(@myobj, :mymeth){
|
208
|
-
assert_equal
|
214
|
+
assert_equal "meth", @myobj.mymeth
|
215
|
+
MuchStub::Stub.new(@myobj, :mymeth){ "mymeth" }
|
216
|
+
assert_equal "mymeth", @myobj.mymeth
|
209
217
|
end
|
210
218
|
|
211
219
|
should "stub methods with required arg" do
|
212
220
|
assert_equal 1, @myobj.myval(1)
|
213
221
|
stub = MuchStub::Stub.new(@myobj, :myval){ |val| val.to_s }
|
214
|
-
assert_equal
|
215
|
-
assert_equal
|
216
|
-
stub.with(2){
|
217
|
-
assert_equal
|
222
|
+
assert_equal "1", @myobj.myval(1)
|
223
|
+
assert_equal "2", @myobj.myval(2)
|
224
|
+
stub.with(2){ "two" }
|
225
|
+
assert_equal "two", @myobj.myval(2)
|
218
226
|
end
|
219
227
|
|
220
228
|
should "stub methods with variable args" do
|
221
229
|
assert_equal [1,2], @myobj.myargs(1,2)
|
222
|
-
stub = MuchStub::Stub.new(@myobj, :myargs){ |*args| args.join(
|
223
|
-
assert_equal
|
224
|
-
assert_equal
|
225
|
-
stub.with(3,4,5){
|
226
|
-
assert_equal
|
230
|
+
stub = MuchStub::Stub.new(@myobj, :myargs){ |*args| args.join(",") }
|
231
|
+
assert_equal "1,2", @myobj.myargs(1,2)
|
232
|
+
assert_equal "3,4,5", @myobj.myargs(3,4,5)
|
233
|
+
stub.with(3,4,5){ "three-four-five" }
|
234
|
+
assert_equal "three-four-five", @myobj.myargs(3,4,5)
|
227
235
|
end
|
228
236
|
|
229
237
|
should "stub methods with required args and variable args" do
|
230
238
|
assert_equal [1,2, [3]], @myobj.myvalargs(1,2,3)
|
231
|
-
stub = MuchStub::Stub.new(@myobj, :myvalargs){ |*args| args.join(
|
232
|
-
assert_equal
|
233
|
-
assert_equal
|
234
|
-
stub.with(3,4,5){
|
235
|
-
assert_equal
|
239
|
+
stub = MuchStub::Stub.new(@myobj, :myvalargs){ |*args| args.join(",") }
|
240
|
+
assert_equal "1,2,3", @myobj.myvalargs(1,2,3)
|
241
|
+
assert_equal "3,4,5", @myobj.myvalargs(3,4,5)
|
242
|
+
stub.with(3,4,5){ "three-four-five" }
|
243
|
+
assert_equal "three-four-five", @myobj.myvalargs(3,4,5)
|
236
244
|
end
|
237
245
|
|
238
246
|
should "stub methods that yield blocks" do
|
@@ -242,9 +250,9 @@ module MuchStub
|
|
242
250
|
assert_equal true, blkcalled
|
243
251
|
|
244
252
|
blkcalled = false
|
245
|
-
MuchStub::Stub.new(@myobj, :myblk){ blkcalled =
|
253
|
+
MuchStub::Stub.new(@myobj, :myblk){ blkcalled = "true" }
|
246
254
|
@myobj.myblk(&blk)
|
247
|
-
assert_equal
|
255
|
+
assert_equal "true", blkcalled
|
248
256
|
end
|
249
257
|
|
250
258
|
should "stub methods even if they are not local to the object" do
|
@@ -263,56 +271,56 @@ module MuchStub
|
|
263
271
|
|
264
272
|
assert_equal [1,2,[3]], mydelegator.myvalargs(1,2,3)
|
265
273
|
stub = MuchStub::Stub.new(mydelegator, :myvalargs){ |*args| args.inspect }
|
266
|
-
assert_equal
|
267
|
-
assert_equal
|
268
|
-
stub.with(4,5,6){
|
269
|
-
assert_equal
|
274
|
+
assert_equal "[1, 2, 3]", mydelegator.myvalargs(1,2,3)
|
275
|
+
assert_equal "[4, 5, 6]", mydelegator.myvalargs(4,5,6)
|
276
|
+
stub.with(4,5,6){ "four-five-six" }
|
277
|
+
assert_equal "four-five-six", mydelegator.myvalargs(4,5,6)
|
270
278
|
end
|
271
279
|
|
272
280
|
should "call to the original method" do
|
273
281
|
subject.teardown
|
274
282
|
|
275
283
|
# no args
|
276
|
-
stub = MuchStub::Stub.new(@myobj, :mymeth){
|
277
|
-
assert_equal
|
278
|
-
assert_equal
|
284
|
+
stub = MuchStub::Stub.new(@myobj, :mymeth){ "mymeth" }
|
285
|
+
assert_equal "mymeth", stub.call([])
|
286
|
+
assert_equal "meth", stub.call_method([])
|
279
287
|
|
280
288
|
# static args
|
281
289
|
stub = MuchStub::Stub.new(@myobj, :myval){ |val| val.to_s }
|
282
|
-
assert_equal
|
290
|
+
assert_equal "1", stub.call([1])
|
283
291
|
assert_equal 1, stub.call_method([1])
|
284
|
-
assert_equal
|
292
|
+
assert_equal "2", stub.call([2])
|
285
293
|
assert_equal 2, stub.call_method([2])
|
286
|
-
stub.with(2){
|
287
|
-
assert_equal
|
294
|
+
stub.with(2){ "two" }
|
295
|
+
assert_equal "two", stub.call([2])
|
288
296
|
assert_equal 2, stub.call_method([2])
|
289
297
|
|
290
298
|
# dynamic args
|
291
|
-
stub = MuchStub::Stub.new(@myobj, :myargs){ |*args| args.join(
|
292
|
-
assert_equal
|
299
|
+
stub = MuchStub::Stub.new(@myobj, :myargs){ |*args| args.join(",") }
|
300
|
+
assert_equal "1,2", stub.call([1,2])
|
293
301
|
assert_equal [1,2], stub.call_method([1,2])
|
294
|
-
assert_equal
|
302
|
+
assert_equal "3,4,5", stub.call([3,4,5])
|
295
303
|
assert_equal [3,4,5], stub.call_method([3,4,5])
|
296
|
-
stub.with(3,4,5){
|
297
|
-
assert_equal
|
304
|
+
stub.with(3,4,5){ "three-four-five" }
|
305
|
+
assert_equal "three-four-five", stub.call([3,4,5])
|
298
306
|
assert_equal [3,4,5], stub.call_method([3,4,5])
|
299
307
|
|
300
308
|
# mixed static/dynamic args
|
301
|
-
stub = MuchStub::Stub.new(@myobj, :myvalargs){ |*args| args.join(
|
302
|
-
assert_equal
|
309
|
+
stub = MuchStub::Stub.new(@myobj, :myvalargs){ |*args| args.join(",") }
|
310
|
+
assert_equal "1,2,3", stub.call([1,2,3])
|
303
311
|
assert_equal [1,2, [3]], stub.call_method([1,2,3])
|
304
|
-
assert_equal
|
312
|
+
assert_equal "3,4,5", stub.call([3,4,5])
|
305
313
|
assert_equal [3,4,[5]], stub.call_method([3,4,5])
|
306
|
-
stub.with(3,4,5){
|
307
|
-
assert_equal
|
314
|
+
stub.with(3,4,5){ "three-four-five" }
|
315
|
+
assert_equal "three-four-five", stub.call([3,4,5])
|
308
316
|
assert_equal [3,4,[5]], stub.call_method([3,4,5])
|
309
317
|
|
310
318
|
# blocks
|
311
319
|
blkcalled = false
|
312
320
|
blk = proc{ blkcalled = true }
|
313
|
-
stub = MuchStub::Stub.new(@myobj, :myblk){ blkcalled =
|
321
|
+
stub = MuchStub::Stub.new(@myobj, :myblk){ blkcalled = "true" }
|
314
322
|
stub.call([], &blk)
|
315
|
-
assert_equal
|
323
|
+
assert_equal "true", blkcalled
|
316
324
|
stub.call_method([], &blk)
|
317
325
|
assert_equal true, blkcalled
|
318
326
|
end
|
@@ -326,17 +334,16 @@ module MuchStub
|
|
326
334
|
should "be removable" do
|
327
335
|
assert_equal 1, @myobj.myval(1)
|
328
336
|
stub = MuchStub::Stub.new(@myobj, :myval){ |val| val.to_s }
|
329
|
-
assert_equal
|
337
|
+
assert_equal "1", @myobj.myval(1)
|
330
338
|
stub.teardown
|
331
339
|
assert_equal 1, @myobj.myval(1)
|
332
340
|
end
|
333
341
|
|
334
342
|
should "have a readable inspect" do
|
335
|
-
expected = "#<#{subject.class}:#{
|
343
|
+
expected = "#<#{subject.class}:#{"0x0%x" % (subject.object_id << 1)}" \
|
336
344
|
" @method_name=#{subject.method_name.inspect}>"
|
337
345
|
assert_equal expected, subject.inspect
|
338
346
|
end
|
339
|
-
|
340
347
|
end
|
341
348
|
|
342
349
|
class MutatingArgsStubTests < StubTests
|
@@ -354,7 +361,6 @@ module MuchStub
|
|
354
361
|
should "not raise a stub error when called" do
|
355
362
|
assert_nothing_raised{ @stub.call([@arg]) }
|
356
363
|
end
|
357
|
-
|
358
364
|
end
|
359
365
|
|
360
366
|
class StubInheritedMethodAfterStubbedOnParentTests < StubTests
|
@@ -369,11 +375,11 @@ module MuchStub
|
|
369
375
|
|
370
376
|
should "allow stubbing them independently of each other" do
|
371
377
|
assert_nothing_raised do
|
372
|
-
@parent_stub.with(1, 2){
|
373
|
-
@child_stub.with(1, 2){
|
378
|
+
@parent_stub.with(1, 2){ "parent" }
|
379
|
+
@child_stub.with(1, 2){ "child" }
|
374
380
|
end
|
375
|
-
assert_equal
|
376
|
-
assert_equal
|
381
|
+
assert_equal "parent", @parent_class.new(1, 2)
|
382
|
+
assert_equal "child", @child_class.new(1, 2)
|
377
383
|
end
|
378
384
|
|
379
385
|
should "not raise any errors when tearing down the parent before the child" do
|
@@ -382,7 +388,6 @@ module MuchStub
|
|
382
388
|
@child_stub.teardown
|
383
389
|
end
|
384
390
|
end
|
385
|
-
|
386
391
|
end
|
387
392
|
|
388
393
|
class NullStubTests < UnitTests
|
@@ -393,7 +398,6 @@ module MuchStub
|
|
393
398
|
subject{ @ns }
|
394
399
|
|
395
400
|
should have_imeths :teardown
|
396
|
-
|
397
401
|
end
|
398
402
|
|
399
403
|
class ParameterListTests < UnitTests
|
@@ -401,7 +405,7 @@ module MuchStub
|
|
401
405
|
setup do
|
402
406
|
many_args = (0..ParameterList::LETTERS.size).map do
|
403
407
|
Assert::Factory.string
|
404
|
-
end.join(
|
408
|
+
end.join(", ")
|
405
409
|
@object = Class.new
|
406
410
|
# use `class_eval` with string to easily define methods with many params
|
407
411
|
@object.class_eval <<-methods
|
@@ -414,23 +418,22 @@ module MuchStub
|
|
414
418
|
subject{ ParameterList }
|
415
419
|
|
416
420
|
should "build a parameter list for a method that takes no args" do
|
417
|
-
assert_equal
|
421
|
+
assert_equal "&block", subject.new(@object, "noargs")
|
418
422
|
end
|
419
423
|
|
420
424
|
should "build a parameter list for a method that takes any args" do
|
421
|
-
assert_equal
|
425
|
+
assert_equal "*args, &block", subject.new(@object, "anyargs")
|
422
426
|
end
|
423
427
|
|
424
428
|
should "build a parameter list for a method that takes many args" do
|
425
|
-
expected = "#{ParameterList::LETTERS.join(
|
426
|
-
assert_equal expected, subject.new(@object,
|
429
|
+
expected = "#{ParameterList::LETTERS.join(", ")}, aa, &block"
|
430
|
+
assert_equal expected, subject.new(@object, "manyargs")
|
427
431
|
end
|
428
432
|
|
429
433
|
should "build a parameter list for a method that takes a minimum number of args" do
|
430
|
-
expected = "#{ParameterList::LETTERS.join(
|
431
|
-
assert_equal expected, subject.new(@object,
|
434
|
+
expected = "#{ParameterList::LETTERS.join(", ")}, aa, *args, &block"
|
435
|
+
assert_equal expected, subject.new(@object, "minargs")
|
432
436
|
end
|
433
|
-
|
434
437
|
end
|
435
438
|
|
436
439
|
class ChangeHashObject
|
@@ -446,5 +449,4 @@ module MuchStub
|
|
446
449
|
@value = 1
|
447
450
|
end
|
448
451
|
end
|
449
|
-
|
450
452
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: much-stub
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kelly Redding
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: assert
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 2.
|
20
|
+
version: 2.18.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: 2.
|
27
|
+
version: 2.18.0
|
28
28
|
description: Stubbing API for replacing method calls on objects in test runs.
|
29
29
|
email:
|
30
30
|
- kelly@kellyredding.com
|
@@ -66,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
66
66
|
version: '0'
|
67
67
|
requirements: []
|
68
68
|
rubyforge_project:
|
69
|
-
rubygems_version: 2.7.
|
69
|
+
rubygems_version: 2.7.6.2
|
70
70
|
signing_key:
|
71
71
|
specification_version: 4
|
72
72
|
summary: Stubbing API for replacing method calls on objects in test runs.
|