Sha256: 319724175170c18382f185ee3bbfe34b1ecfcb9df88b2b24f42ce3da18877a68

Contents?: true

Size: 479 Bytes

Versions: 1

Compression:

Stored size: 479 Bytes

Contents

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)

      self.object = object
      self.args   = args
      self.method = method.to_sym
    end
    
    def display_name
      "#{object.class}##{method}"
    end
    
    def perform
      object.send(method, *args) if object
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
delayed_job-2.1.0.pre lib/delayed/performable_method.rb