Module: MotionYak::Base

Defined in:
lib/motion_yak/base.rb

Class Method Summary collapse

Class Method Details

.api_url(url) ⇒ Object



15
16
17
# File 'lib/motion_yak/base.rb', line 15

def self.api_url(url)
  [self.base_url, MotionYak::Config.api_key, 'json', url].join('/')
end

.base_urlObject



11
12
13
# File 'lib/motion_yak/base.rb', line 11

def self.base_url
 'https://api.emailyak.com/v1'
end

.config(api_key) ⇒ Object



3
4
5
# File 'lib/motion_yak/base.rb', line 3

def self.config(api_key)
  MotionYak::Config.api_key = api_key
end

.keyObject



7
8
9
# File 'lib/motion_yak/base.rb', line 7

def self.key
  MotionYak::Config.api_key
end

.new_address(address, &b) ⇒ Object



26
27
28
29
30
31
# File 'lib/motion_yak/base.rb', line 26

def self.new_address(address, &b)
  params = {'Address' => address, 'CallbackURL' => MotionYak::Config.callback, 'PushEmail' => MotionYak::Config.push_params}
  MotionYak::Request.post self.api_url('register/address/'), params do |json|
    b.call(json)
  end
end

.new_domain(domain, &b) ⇒ Object



19
20
21
22
23
24
# File 'lib/motion_yak/base.rb', line 19

def self.new_domain(domain, &b)
  params = {'Domain' => domain, 'CallbackURL' => MotionYak::Config.callback, 'PushEmail' => MotionYak::Config.push_params}
  MotionYak::Request.post self.api_url('register/domain/'), params do |json|
    b.call(json)
  end
end

.send_email(options, &b) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/motion_yak/base.rb', line 33

def self.send_email(options, &b)
  params = {}
  params['FromAddress']    = options[:from]           if options[:from]
  params['FromName']       = options[:from_name]      if options[:from_name]
  params['SenderAddress']  = options[:sender_address] if options[:sender_address]
  params['ToAddress']      = options[:to]             if options[:to]
  params['ReplyToAddress'] = options[:reply_address]  if options[:reply_address]
  params['CcAddress']      = options[:cc]             if options[:cc]
  params['BccAddress']     = options[:bcc]            if options[:bcc]
  params['Subject']        = options[:subject]        if options[:subject]
  params['HtmlBody']       = options[:html]           if options[:html]
  params['TextBody']       = options[:text]           if options[:text]
  params['Headers']        = options[:headers]        if options[:headers]
  params['Attachments']    = options[:attachments]    if options[:attachments]
  MotionYak::Request.post self.api_url('send/email/'), params do |json|
    b.call(json)
  end
end