class Smtpcom::Sendapi::ClicksReport
Attributes
campaign[R]
finish[R]
sender[R]
start[R]
total[R]
url[R]
Public Class Methods
new(start, finish, sender = nil, campaign = nil, url = nil)
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 6 def initialize(start, finish, sender = nil, campaign = nil, url = nil) @start = start @finish = finish @sender = sender @campaign = campaign @url = url end
Public Instance Methods
all(count = 100, page = 1)
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 14 def all(count = 100, page = 1) response = _get(list_url, prepare_params(count, page)) @total = response['Total'] format_response response['Data'] end
csv(count = 100, page = 1)
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 20 def csv(count = 100, page = 1) _get_raw(csv_url, prepare_params(count, page).merge(headers: { 'Accept' => 'text/csv' })) end
csv_url()
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 28 def csv_url @url ? '/clicksbyurlexport/get' : '/clicksexport/get' end
list_url()
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 24 def list_url @url ? '/clicksbyurl/get' : '/clicks/get' end
prepare_params(count, page)
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 32 def prepare_params(count, page) attributes = { DateFrom: @start.strftime("%m/%d/%Y"), DateTo: @finish.strftime("%m/%d/%Y"), Count: count, Page: page } attributes[:Sender] = @sender if @sender attributes[:CampaignID] = @campaign if @campaign attributes[:Url] = @url if @url attributes end
Private Instance Methods
format_response(data)
click to toggle source
# File lib/smtpcom/sendapi/clicks_report.rb, line 47 def format_response(data) data.map do |row| Utils.format_response_row(row) end end