lib/delayed/performable_method.rb in delayed_job-2.1.0.pre vs lib/delayed/performable_method.rb in delayed_job-2.1.0.pre2

- old
+ new

@@ -1,9 +1,9 @@ module Delayed class PerformableMethod < Struct.new(:object, :method, :args) def initialize(object, method, args) - raise NoMethodError, "undefined method `#{method}' for #{object.inspect}" unless object.respond_to?(method) + raise NoMethodError, "undefined method `#{method}' for #{object.inspect}" unless object.respond_to?(method, true) self.object = object self.args = args self.method = method.to_sym end @@ -13,7 +13,15 @@ end def perform object.send(method, *args) if object end + + def method_missing(symbol, *args) + object.respond_to?(symbol) ? object.send(symbol, *args) : super + end + + def respond_to?(symbol, include_private=false) + object.respond_to?(symbol, include_private) || super + end end end