Module: Gimme::DSL
- Defined in:
- lib/gimme/dsl.rb
Instance Method Summary collapse
-
#gimme(cls = nil) ⇒ Object
Instantiation.
- #gimme_next(cls) ⇒ Object
-
#give(double) ⇒ Object
Stubbing.
- #give!(double) ⇒ Object
-
#spy_on(cls, method) ⇒ Object
Spying on class methods.
- #spy_on!(cls, method) ⇒ Object
-
#verify(double, times = 1) ⇒ Object
Verification.
- #verify!(double, times = 1) ⇒ Object
Instance Method Details
#gimme(cls = nil) ⇒ Object
Instantiation
6 7 8 |
# File 'lib/gimme/dsl.rb', line 6 def gimme(cls=nil) Gimme::TestDouble.new(cls) end |
#gimme_next(cls) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/gimme/dsl.rb', line 10 def gimme_next(cls) double = Gimme::TestDouble.new(cls) = class << cls; self; end real_new = cls.method(:new) .send(:define_method,:new) do |*args| double.send(:initialize,*args) .send(:define_method,:new,real_new) #restore :new on the class double end double end |
#give(double) ⇒ Object
Stubbing
24 25 26 27 28 29 30 |
# File 'lib/gimme/dsl.rb', line 24 def give(double) if double.kind_of? Class Gimme::GivesClassMethods.new(double) else Gimme::Gives.new(double) end end |
#give!(double) ⇒ Object
32 33 34 35 36 |
# File 'lib/gimme/dsl.rb', line 32 def give!(double) give = give(double) give.raises_no_method_error = false give end |
#spy_on(cls, method) ⇒ Object
Spying on class methods
54 55 56 |
# File 'lib/gimme/dsl.rb', line 54 def spy_on(cls, method) SpiesOnClassMethod.new(cls).spy(method) end |
#spy_on!(cls, method) ⇒ Object
58 59 60 61 62 |
# File 'lib/gimme/dsl.rb', line 58 def spy_on!(cls, method) spies_on = SpiesOnClassMethod.new(cls) spies_on.raises_no_method_error = false spies_on.spy(method) end |