class Mailersend::Analytics

This is a class for getting the analytics from MailerSend API.

Attributes

client[RW]
date_from[RW]
date_to[RW]
domain_id[RW]
events[RW]
group_by[RW]
recipient_id[RW]
tags[RW]

Public Class Methods

new(client = Mailersend::Client.new) click to toggle source
# File lib/mailersend/analytics/analytics.rb, line 15
def initialize(client = Mailersend::Client.new)
  @client = client
  @date_from = ''
  @date_to = ''
  @events = []
  @domain_id = ''
  @recipient_id = ''
  @group_by = ''
  @tags = []
end

Public Instance Methods

country(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil) click to toggle source
# File lib/mailersend/analytics/analytics.rb, line 42
def country(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil)
  hash = {
    domain_id: domain_id,
    recipient_id: recipient_id,
    date_from: date_from,
    date_to: date_to,
    'tags[]': tags
  }

  response = client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/analytics/country',
                                              query: URI.encode_www_form(hash.compact)))
  puts response
end
date(date_from:, date_to:, events:, domain_id: nil, recipient_id: nil, group_by: nil, tags: nil) click to toggle source
# File lib/mailersend/analytics/analytics.rb, line 26
def date(date_from:, date_to:, events:, domain_id: nil, recipient_id: nil, group_by: nil, tags: nil)
  hash = {
    'date_from' => date_from,
    'date_to' => date_to,
    'event[]' => events,
    'domain_id' => domain_id,
    'recipient_id' => recipient_id,
    'group_by' => group_by,
    'tags[]' => tags
  }

  response = client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/analytics/date',
                                              query: URI.encode_www_form(hash.compact)))
  puts response
end
ua_name(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil) click to toggle source
# File lib/mailersend/analytics/analytics.rb, line 56
def ua_name(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil)
  hash = {
    domain_id: domain_id,
    recipient_id: recipient_id,
    date_from: date_from,
    date_to: date_to,
    'tags[]': tags
  }

  response = client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/analytics/ua-name',
                                              query: URI.encode_www_form(hash.compact)))
  puts response
end
ua_type(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil) click to toggle source
# File lib/mailersend/analytics/analytics.rb, line 70
def ua_type(date_from:, date_to:, domain_id: nil, recipient_id: nil, tags: nil)
  hash = {
    domain_id: domain_id,
    recipient_id: recipient_id,
    date_from: date_from,
    date_to: date_to,
    'tags[]': tags
  }

  response = client.http.get(URI::HTTPS.build(host: API_BASE_HOST, path: '/v1/analytics/ua-type',
                                              query: URI.encode_www_form(hash.compact)))
  puts response
end