Class: Mailgun::AnalyticsTags

Inherits:
Object
  • Object
show all
Includes:
ApiVersionChecker
Defined in:
lib/mailgun/tags/analytics_tags.rb

Overview

A Mailgun::AnalyticsTags object is a simple CRUD interface to Mailgun Tags. Uses Mailgun

Instance Method Summary collapse

Methods included from ApiVersionChecker

included

Constructor Details

#initialize(client = Mailgun::Client.new(Mailgun.api_key, Mailgun.api_host || 'api.mailgun.net', 'v1')) ⇒ AnalyticsTags

Public: creates a new Mailgun::AnalyticsTags instance. Defaults to Mailgun::Client



11
12
13
# File 'lib/mailgun/tags/analytics_tags.rb', line 11

def initialize(client = Mailgun::Client.new(Mailgun.api_key, Mailgun.api_host || 'api.mailgun.net', 'v1'))
  @client = client
end

Instance Method Details

#limitsObject

Public: Get account tag limit information

Returns [Hash] Information on the tag limits.



61
62
63
# File 'lib/mailgun/tags/analytics_tags.rb', line 61

def limits
  @client.get('analytics/tags/limits').to_h
end

#list(options = {}) ⇒ Object

Returns [Hash] Information on the requested tags.



45
46
47
# File 'lib/mailgun/tags/analytics_tags.rb', line 45

def list(options = {})
  @client.post('analytics/tags', options).to_h['items']
end

#remove(tag) ⇒ Object

Public: Delete account tag

tag - [String] The tag to delete.

Returns [Boolean] true or false



54
55
56
# File 'lib/mailgun/tags/analytics_tags.rb', line 54

def remove(tag)
  @client.delete('analytics/tags', { tag: tag }, body_params: true).to_h['message'] == 'Tag deleted'
end

#update(tag, description) ⇒ Object

Public: Update account tag

tag - [String] The tag to update. description - [String] The updated tag description.

Returns [Boolean] true or false



21
22
23
24
# File 'lib/mailgun/tags/analytics_tags.rb', line 21

def update(tag, description)
  @client.put('analytics/tags', { tag: tag, description: description }.to_json,
              { 'Content-Type' => 'application/json' }).to_h['message'] == 'Tag updated'
end