Class Delayed::PerformableMethod
In: lib/delayed/psych_ext.rb
lib/delayed/performable_method.rb
Parent: Object

Methods

Attributes

args  [RW] 
method_name  [RW] 
object  [RW] 

Public Class methods

[Source]

    # File lib/delayed/performable_method.rb, line 9
 9:     def initialize(object, method_name, args)
10:       raise NoMethodError, "undefined method `#{method_name}' for #{object.inspect}" unless object.respond_to?(method_name, true)
11: 
12:       if defined?(ActiveRecord) && object.kind_of?(ActiveRecord::Base)
13:         raise(ArgumentError, 'Jobs cannot be created for records before they\'ve been persisted') if object.attributes[object.class.primary_key].nil?
14:       end
15: 
16:       self.object       = object
17:       self.args         = args
18:       self.method_name  = method_name.to_sym
19:     end

Public Instance methods

[Source]

    # File lib/delayed/performable_method.rb, line 21
21:     def display_name
22:       "#{object.class}##{method_name}"
23:     end

serialize to YAML

[Source]

    # File lib/delayed/psych_ext.rb, line 13
13:   def encode_with(coder)
14:     coder.map = {
15:       "object" => object,
16:       "method_name" => method_name,
17:       "args" => args
18:     }
19:   end

[Source]

    # File lib/delayed/performable_method.rb, line 29
29:     def method_missing(symbol, *args)
30:       object.send(symbol, *args)
31:     end

[Source]

    # File lib/delayed/performable_method.rb, line 25
25:     def perform
26:       object.send(method_name, *args) if object
27:     end

[Source]

    # File lib/delayed/performable_method.rb, line 33
33:     def respond_to?(symbol, include_private=false)
34:       super || object.respond_to?(symbol, include_private)
35:     end

[Validate]