Module: TrakioClient

Included in:
Trakio::Client
Defined in:
lib/trakio_client.rb,
lib/trakio_client/alias.rb,
lib/trakio_client/track.rb,
lib/trakio_client/company.rb,
lib/trakio_client/version.rb,
lib/trakio_client/annotate.rb,
lib/trakio_client/identify.rb,
lib/trakio_client/end_point.rb,
lib/trakio_client/exceptions.rb

Defined Under Namespace

Modules: ClassMethods Classes: Alias, Annotate, Company, EndPoint, Exceptions, Identify, Track

Constant Summary collapse

VERSION =
"0.2.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



16
17
18
19
20
21
22
23
24
# File 'lib/trakio_client.rb', line 16

def self.included base
  base.extend ClassMethods
  base.send :attr_accessor, :api_token
  base.send :attr_accessor, :https
  base.send :attr_accessor, :host
  base.send :attr_accessor, :channel
  base.send :attr_accessor, :distinct_id
  base.send :attr_accessor, :company_id
end

Instance Method Details

#initialize(*args) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/trakio_client.rb', line 63

def initialize(*args)
  api_token, params = args
  api_token = self.class.default_instance.api_token unless api_token

  @api_token = api_token or raise Exceptions::InvalidToken.new('Missing API Token')
  @https = true
  @host = 'api.trak.io/v1'

  %w{https host channel distinct_id company_id}.each do |name|
    instance_variable_set("@#{name}", params[name.to_sym]) if params && params.has_key?(name.to_sym)
  end
end

#page_view(*args) ⇒ Object



85
86
87
88
# File 'lib/trakio_client.rb', line 85

def page_view *args
  @track ||= Track.new(self)
  @track.page_view(*args)
end