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.



57
58
59
# File 'lib/mailgun/tags/analytics_tags.rb', line 57

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

#list(options = {}) ⇒ Object

Returns [Hash] Information on the requested tags.



41
42
43
# File 'lib/mailgun/tags/analytics_tags.rb', line 41

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



50
51
52
# File 'lib/mailgun/tags/analytics_tags.rb', line 50

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