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

Instance Method Summary collapse

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.

Parameters:

  • name (Symbol)

    The name of the attribute.

  • default_value (Object) (defaults to: nil)

    An optional default value.



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.

Parameters:

  • name (Symbol)

    The name of the method.

Yields:

  • The block that will serve as the method definition.



30
31
32
# File 'lib/micro_mock.rb', line 30

def stub(name, &block)
  context.send :define_method, name, &block
end