Module: TrakioClient::ClassMethods

Defined in:
lib/trakio_client.rb

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



55
56
57
58
59
# File 'lib/trakio_client.rb', line 55

def method_missing(method, *args, &block)
  # passes to the default_instance so that
  # Trakio.channel returns Trakio.default_instance.channel
  @default_instance.send(method, *args, &block)
end

Instance Method Details

#company_id(value = nil) ⇒ Object Also known as: company_id=



50
51
52
# File 'lib/trakio_client.rb', line 50

def company_id value=nil
  raise Exceptions::NoCompanyIdForDefaultInstance
end

#default_instanceObject



36
37
38
39
# File 'lib/trakio_client.rb', line 36

def default_instance
  raise Exceptions::Uninitiated unless @default_instance
  @default_instance
end

#default_instance=(instance) ⇒ Object



41
42
43
# File 'lib/trakio_client.rb', line 41

def default_instance=(instance)
  @default_instance = instance
end

#distinct_id(value = nil) ⇒ Object Also known as: distinct_id=



45
46
47
# File 'lib/trakio_client.rb', line 45

def distinct_id value=nil
  raise Exceptions::NoDistinctIdForDefaultInstance
end

#init(*args) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/trakio_client.rb', line 28

def init(*args)
  api_token, params = args
  raise Exceptions::InvalidToken.new('Missing API Token') unless api_token
  raise Exceptions::NoDistinctIdForDefaultInstance if params and params.has_key?(:distinct_id)
  raise Exceptions::NoCompanyIdForDefaultInstance if params and params.has_key?(:company_id)
  @default_instance = self.new(*args)
end