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