Top Level Namespace

Instance Method Summary collapse

Instance Method Details

#expect(object, method, options) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/override.rb', line 13

def expect object, method, options
  expectation = lambda do |*params|
    raise ArgumentError unless params == options[:with]
    options[:return]
  end
  override(object, method => expectation)
end

#override(object, methods) ⇒ Object



4
5
6
7
8
9
10
11
# File 'lib/override.rb', line 4

def override object, methods
  methods.each do |method, result|
    result.respond_to?(:to_proc) ?
      object.meta_def(method, &result.to_proc) :
      object.meta_def(method) { |*_| result }
  end
  object
end