Class: Textris::Delay::Sidekiq::Proxy

Inherits:
Object
  • Object
show all
Defined in:
lib/textris/delay/sidekiq/proxy.rb

Instance Method Summary collapse

Constructor Details

#initialize(texter, options = {}) ⇒ Proxy

Returns a new instance of Proxy.



5
6
7
8
9
# File 'lib/textris/delay/sidekiq/proxy.rb', line 5

def initialize(texter, options = {})
  @texter     = texter
  @perform_in = options[:perform_in]
  @perform_at = options[:perform_at]
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/textris/delay/sidekiq/proxy.rb', line 11

def method_missing(method_name, *args)
  args = ::Textris::Delay::Sidekiq::Serializer.serialize(args)
  args = [@texter, method_name, args]

  if @perform_in
    ::Textris::Delay::Sidekiq::Worker.perform_in(@perform_in, *args)
  elsif @perform_at
    ::Textris::Delay::Sidekiq::Worker.perform_at(@perform_at, *args)
  else
    ::Textris::Delay::Sidekiq::Worker.perform_async(*args)
  end
end