module Stub::Abstract::Methods
Public Instance Methods
__wrap__(object, *context)
click to toggle source
# File lib/stub/abstract.rb, line 41 def __wrap__ object, *context @stub_class.new object end
method_missing(method_name, *args, &block)
click to toggle source
# File lib/stub/abstract.rb, line 22 def method_missing method_name, *args, &block result = @object.send method_name, *args, &block method_name = args.shift if [ :send, :__send__ ].include? method_name case result when nil raise when true, false, String, Numeric, Array, Hash result else __wrap__ result, method_name, *args, &block end rescue => e $stderr.puts "#{e.class}: #{e.message} in #{@object.class}##{method_name}(#{args.map(&:inspect)*','})" if e.message.present? __stub__ method_name, *args, &block end