class Orchestra::Recording::Playback::Factory

Attributes

klass[RW]

Public Class Methods

new() click to toggle source
# File lib/orchestra/recording/playback.rb, line 22
def initialize
  @klass = Class.new Playback
  @mocks = Hash.new do |hsh, meth| hsh[meth] = {} end
end

Public Instance Methods

<<(record) click to toggle source
# File lib/orchestra/recording/playback.rb, line 33
def << record
  method = record[:method].to_sym
  unless klass.instance_methods.include? method
    klass.send :define_method, method do |*args| mocks[method][args] end
  end
  mocks[method][record[:input]] = record[:output]
end
build(service_recording) click to toggle source
# File lib/orchestra/recording/playback.rb, line 27
def build service_recording
  record = method :<<
  service_recording.each &record
  klass.new mocks
end
singleton() click to toggle source
# File lib/orchestra/recording/playback.rb, line 41
def singleton
  singleton = class << instance ; self end
end