Module: MicroMock
- Defined in:
- lib/micro_mock.rb,
lib/micro_mock/version.rb
Overview
MicroMock is a tiny mocking script.
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
-
.make(superclass = Object) ⇒ Object
Defines a mock class.
Instance Method Summary collapse
-
#attr(name, default_value = nil) ⇒ Object
Creates an attribute getter & setter.
-
#stub(name) { ... } ⇒ Object
Stubs a method.
Class Method Details
.make(superclass = Object) ⇒ Object
Defines a mock class.
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/micro_mock.rb', line 5 def self.make(superclass=Object) klass = Class.new(superclass) do def initialize(*args) @args = args super unless self.class.superclass == Object end end klass.extend MicroMock klass.send :include, MicroMock Object.const_set "MicroMock#{klass.object_id}", klass klass end |
Instance Method Details
#attr(name, default_value = nil) ⇒ Object
Creates an attribute getter & setter.
21 22 23 24 |
# File 'lib/micro_mock.rb', line 21 def attr(name, default_value=nil) context.send :attr_accessor, name instance_variable_set "@#{name}", default_value end |
#stub(name) { ... } ⇒ Object
Stubs a method. The term stub is used loosely since it adds real functionality.
30 31 32 |
# File 'lib/micro_mock.rb', line 30 def stub(name, &block) context.send :define_method, name, &block end |