class SendGrid::EmailStats
Public Class Methods
new(args)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 5 def initialize(args) @sendgrid_client = args[:sendgrid_client] end
Public Instance Methods
by_day(start_date, end_date, categories = nil, subusers = nil)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 9 def by_day(start_date, end_date, categories = nil, subusers = nil) get('day', start_date, end_date, categories, subusers) end
by_month(start_date, end_date, categories = nil, subusers = nil)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 17 def by_month(start_date, end_date, categories = nil, subusers = nil) get('month', start_date, end_date, categories, subusers) end
by_week(start_date, end_date, categories = nil, subusers = nil)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 13 def by_week(start_date, end_date, categories = nil, subusers = nil) get('week', start_date, end_date, categories, subusers) end
get(aggregated_by, start_date, end_date, categories = nil, subusers = nil)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 21 def get(aggregated_by, start_date, end_date, categories = nil, subusers = nil) params = query_params(aggregated_by, start_date, end_date, categories, subusers) response_body = @sendgrid_client.stats.get(query_params: params).body build_response(response_body) end
Private Instance Methods
build_response(response_body)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 41 def build_response(response_body) response_json = JSON.parse(response_body) StatsResponse.new(response_json) end
query_params(aggregated_by, start_date, end_date, categories, subusers)
click to toggle source
# File lib/sendgrid/helpers/stats/email_stats.rb, line 30 def query_params(aggregated_by, start_date, end_date, categories, subusers) params = { aggregated_by: aggregated_by, start_date: start_date, end_date: end_date } params.merge(categories: categories) if categories params.merge(subusers: subusers) if subusers params end