Class: SendgridToolkit::Statistics
Instance Method Summary
collapse
#initialize
Instance Method Details
#advanced(data_type, start_date, options = {}) ⇒ Object
3
4
5
6
7
8
9
10
|
# File 'lib/sendgrid_toolkit/statistics.rb', line 3
def advanced(data_type, start_date, options = {})
options.merge! :data_type => data_type
options.merge! :start_date => format_date(start_date, options)
response = api_post('stats', 'getAdvanced', options)
response.each { |r| r['date'] = Date.parse(r['date']) if r.kind_of?(Hash) && r.has_key?('date') }
response
end
|
#list_categories(options = {}) ⇒ Object
35
36
37
38
39
|
# File 'lib/sendgrid_toolkit/statistics.rb', line 35
def list_categories(options = {})
options.merge! :list => true
response = retrieve options
response
end
|
#retrieve(options = {}) ⇒ Object
12
13
14
15
16
|
# File 'lib/sendgrid_toolkit/statistics.rb', line 12
def retrieve(options = {})
response = api_post('stats', 'get', options)
response.each {|r| r['date'] = Date.parse(r['date']) if r.kind_of?(Hash) && r.has_key?('date')}
response
end
|
#retrieve_aggregate(options = {}) ⇒ Object
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/sendgrid_toolkit/statistics.rb', line 18
def retrieve_aggregate(options = {})
options.merge! :aggregate => 1
response = retrieve options
if Hash === response.parsed_response
to_ints(response.parsed_response)
elsif Array === response.parsed_response
response.parsed_response.each {|o| to_ints(o) }
end
response
end
|
#to_ints(resp) ⇒ Object
29
30
31
32
33
|
# File 'lib/sendgrid_toolkit/statistics.rb', line 29
def to_ints(resp)
%w(bounces clicks delivered invalid_email opens repeat_bounces repeat_spamreports repeat_unsubscribes requests spamreports unsubscribes).each do |int_field|
resp[int_field] = resp[int_field].to_i if resp.has_key?(int_field)
end
end
|