Class: Mixpanel::Mail

Inherits:
Object
  • Object
show all
Defined in:
lib/mixpanel-mail.rb,
lib/mixpanel_mail/version.rb

Constant Summary collapse

ENDPOINT =
'http://api.mixpanel.com/email'
ENDPOINT_URI =
URI.parse(ENDPOINT)
OPTIONS =
%w(campaign type properties redirect_host click_tracking)
DEFAULT_CAMPAIGN =
'default'
VERSION =
"0.1.2"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(token, options = {}) ⇒ Mail

Returns a new instance of Mail.



20
21
22
23
24
25
# File 'lib/mixpanel-mail.rb', line 20

def initialize(token, options = {})
  @params = {}
  params['token'] = token
  params['campaign'] = DEFAULT_CAMPAIGN
  params.merge!(groom_options(options))
end

Instance Attribute Details

#paramsObject

Returns the value of attribute params.



18
19
20
# File 'lib/mixpanel-mail.rb', line 18

def params
  @params
end

Instance Method Details

#add_tracking(distinct_id, body, options = {}) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/mixpanel-mail.rb', line 27

def add_tracking(distinct_id, body, options = {})
  p = params.dup()
  p['distinct_id'] = distinct_id
  p['body'] = body
  p.merge!(groom_options(options)) unless options.empty?
  response = Net::HTTP.post_form(::Mixpanel::Mail::ENDPOINT_URI, p)
  case response
  when Net::HTTPSuccess
      response.body
  else
      response.error!
  end
end