Class: Smtpcom::Sendapi::RealTimeReporting

Inherits:
ApiResource
  • Object
show all
Defined in:
lib/smtpcom/sendapi/real_time_reporting.rb

Constant Summary collapse

MAPPINGS =
{
  queue_name:           :QueueName,
  server_region:        :ServerRegion,
  public_access_key:    :PublicAccessKey,
  private_access_key:   :PrivateAccessKey,
  notify_opens:         :NotifyOpens,
  notify_clicks:        :NotifyClicks,
  notify_delivert_info: :NotifyDelivertInfo
}

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from ApiResource

#_get, #_get_raw, #_post, #initialize

Methods included from Request

included

Constructor Details

This class inherits a constructor from Smtpcom::Sendapi::ApiResource

Class Method Details

.build_from_response(data) ⇒ Object



20
21
22
23
24
25
# File 'lib/smtpcom/sendapi/real_time_reporting.rb', line 20

def self.build_from_response(data)
  new Hash[MAPPINGS.map { |k, v| [k.to_sym, data["InstantNotification_#{v}"]] }].merge \
    notify_opens:         data['InstantNotification_NotifyOpens'] == 'On',
    notify_clicks:        data['InstantNotification_NotifyClicks'] == 'On',
    notify_delivert_info: data['InstantNotification_NotifyDelivertInfo'] == 'On'
end

.settingsObject



16
17
18
# File 'lib/smtpcom/sendapi/real_time_reporting.rb', line 16

def self.settings
  build_from_response(_get('/realtimereporting/get'))
end

Instance Method Details

#prepare_paramsObject



31
32
33
34
35
36
# File 'lib/smtpcom/sendapi/real_time_reporting.rb', line 31

def prepare_params
  super.merge \
    NotifyOpens:        (notify_opens ? 'On' : 'Off'),
    NotifyClicks:       (notify_clicks ? 'On' : 'Off'),
    NotifyDelivertInfo: (notify_delivert_info ? 'On' : 'Off')
end

#saveObject



27
28
29
# File 'lib/smtpcom/sendapi/real_time_reporting.rb', line 27

def save
  _post '/realtimereporting/update', prepare_params, :formatted
end