Sha256: 4f8113717149b4046bab16bbde6e3762b0d3225aa495d1706f0b589dd9bd5f27

Contents?: true

Size: 799 Bytes

Versions: 18

Compression:

Stored size: 799 Bytes

Contents

module Delayed
  module MessageSending
    def send_later(method, *args)
      Delayed::Job.enqueue Delayed::PerformableMethod.new(self, method.to_sym, args)
    end

    def send_at(time, method, *args)
      Delayed::Job.enqueue(Delayed::PerformableMethod.new(self, method.to_sym, args), 0, time)
    end
    
    module ClassMethods
      def handle_asynchronously(method)
        aliased_method, punctuation = method.to_s.sub(/([?!=])$/, ''), $1
        with_method, without_method = "#{aliased_method}_with_send_later#{punctuation}", "#{aliased_method}_without_send_later#{punctuation}"
        define_method(with_method) do |*args|
          send_later(without_method, *args)
        end
        alias_method_chain method, :send_later
      end
    end
  end                               
end

Version data entries

18 entries across 18 versions & 10 rubygems

Version Path
emipair-delayed_job-2.0.3.1 lib/delayed/message_sending.rb
jmcnevin-delayed_job-2.0.6 lib/delayed/message_sending.rb
jmcnevin-delayed_job-2.0.5 lib/delayed/message_sending.rb
jmcnevin-delayed_job-2.0.4 lib/delayed/message_sending.rb
blue_light_special-0.2.1 test/rails_root/vendor/gems/delayed_job-1.8.4/lib/delayed/message_sending.rb
opsb-delayed_job-2.0.3 lib/delayed/message_sending.rb
delayed_job-2.0.3 lib/delayed/message_sending.rb
efficiency20-delayed_job-1.8.51 lib/delayed/message_sending.rb
delayed_job-2.0.2 lib/delayed/message_sending.rb
delayed_job-2.0.1 lib/delayed/message_sending.rb
delayed_job-2.0.0 lib/delayed/message_sending.rb
delayed_job-1.9.0pre lib/delayed/message_sending.rb
delayed_job-1.8.5 lib/delayed/message_sending.rb
mathie-delayed_job-1.8.4 lib/delayed/message_sending.rb
xspond-delayed_job-1.8.5 lib/delayed/message_sending.rb
moneypools-delayed_job-1.8.4 lib/delayed/message_sending.rb
koombea-delayed_job-1.8.5 lib/delayed/message_sending.rb
delayed_job-1.8.4 lib/delayed/message_sending.rb