Class Delayed::PerformableMethod
In: lib/delayed/performable_method.rb
Parent: Struct.new(:object, :method, :args)

Methods

display_name   new   perform  

Classes and Modules

Class Delayed::PerformableMethod::LoadError

Constants

STRING_FORMAT = /^LOAD\;([A-Z][\w\:]+)(?:\;(\w+))?$/

Public Class methods

[Source]

    # File lib/delayed/performable_method.rb, line 18
18:     def initialize(object, method, args)
19:       raise NoMethodError, "undefined method `#{method}' for #{object.inspect}" unless object.respond_to?(method, true)
20: 
21:       self.object = dump(object)
22:       self.args   = args.map { |a| dump(a) }
23:       self.method = method.to_sym
24:     end

Public Instance methods

[Source]

    # File lib/delayed/performable_method.rb, line 26
26:     def display_name
27:       if STRING_FORMAT === object
28:         "#{$1}#{$2 ? '#' : '.'}#{method}"
29:       else
30:         "#{object.class}##{method}"
31:       end
32:     end

[Source]

    # File lib/delayed/performable_method.rb, line 34
34:     def perform
35:       load(object).send(method, *args.map{|a| load(a)})
36:     rescue PerformableMethod::LoadError
37:       # We cannot do anything about objects that can't be loaded
38:       true
39:     end

[Validate]