class Userlist::Push::Strategies::Sidekiq

Attributes

config[R]

Public Class Methods

new(config = {}) click to toggle source
# File lib/userlist/push/strategies/sidekiq.rb, line 9
def initialize(config = {})
  @config = Userlist.config.merge(config)
end

Public Instance Methods

call(*args) click to toggle source
# File lib/userlist/push/strategies/sidekiq.rb, line 13
def call(*args)
  ::Sidekiq::Client.push(default_options.merge(options).merge('args' => args))
end

Private Instance Methods

default_options() click to toggle source
# File lib/userlist/push/strategies/sidekiq.rb, line 28
def default_options
  {
    'class' => 'Userlist::Push::Strategies::Sidekiq::Worker',
    'queue' => 'default'
  }
end
options() click to toggle source
# File lib/userlist/push/strategies/sidekiq.rb, line 21
def options
  @options ||= begin
    options = config.push_strategy_options || {}
    options.each_with_object({}) { |(k, v), h| h[k.to_s] = v }
  end
end