Class: Vero::Sender

Inherits:
Object show all
Defined in:
lib/vero/sender.rb

Class Method Summary collapse

Class Method Details

.send(api_class, sender_strategy, domain, options) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/vero/sender.rb', line 36

def self.send(api_class, sender_strategy, domain, options)
  sender_class = if self.senders[sender_strategy]
    self.senders[sender_strategy]
  else
    self.senders[false]
  end
  
  (sender_class.new).call(api_class, domain, options)
rescue => e
  options_s = JSON.dump(options)
  Vero::App.log(self.new, "method: #{api_class.name}, options: #{options_s}, error: #{e.message}")
  raise e
end

.sendersObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/vero/sender.rb', line 16

def self.senders
  t = Vero::SenderHash.new

  t.merge!({
    true          => Vero::Senders::Invalid,
    false         => Vero::Senders::Base,
    :none         => Vero::Senders::Base,
    :thread       => Vero::Senders::Invalid
  })

  if RUBY_VERSION !~ /1\.8\./
    t.merge!(
      true        => Vero::Senders::Thread,
      :thread     => Vero::Senders::Thread
    )
  end

  t
end