Class: Keen::Client
- Inherits:
-
Object
- Object
- Keen::Client
- Includes:
- MaintenanceMethods, PublishingMethods, QueryingMethods
- Defined in:
- lib/keen/client.rb,
lib/keen/client/querying_methods.rb,
lib/keen/client/publishing_methods.rb,
lib/keen/client/maintenance_methods.rb
Defined Under Namespace
Modules: MaintenanceMethods, PublishingMethods, QueryingMethods
Constant Summary collapse
- CONFIG =
{ :api_url => "https://api.keen.io", :api_version => "3.0", :api_headers => lambda { |, sync_or_async| user_agent = "keen-gem, v#{Keen::VERSION}, #{sync_or_async}" user_agent += ", #{RUBY_VERSION}, #{RUBY_PLATFORM}, #{RUBY_PATCHLEVEL}" if defined?(RUBY_ENGINE) user_agent += ", #{RUBY_ENGINE}" end { "Content-Type" => "application/json", "User-Agent" => user_agent, "Authorization" => } } }
Instance Attribute Summary collapse
-
#api_url ⇒ Object
Returns the value of attribute api_url.
-
#master_key ⇒ Object
Returns the value of attribute master_key.
-
#project_id ⇒ Object
Returns the value of attribute project_id.
-
#proxy_type ⇒ Object
Returns the value of attribute proxy_type.
-
#proxy_url ⇒ Object
Returns the value of attribute proxy_url.
-
#read_key ⇒ Object
Returns the value of attribute read_key.
-
#read_timeout ⇒ Object
Returns the value of attribute read_timeout.
-
#write_key ⇒ Object
Returns the value of attribute write_key.
Instance Method Summary collapse
-
#initialize(*args) ⇒ Client
constructor
A new instance of Client.
Methods included from MaintenanceMethods
#delete, #event_collection, #event_collections, #project_info
Methods included from QueryingMethods
#average, #count, #count_unique, #extraction, #funnel, #maximum, #median, #minimum, #multi_analysis, #percentile, #query, #query_url, #select_unique, #sum
Methods included from PublishingMethods
#add_event, #beacon_url, #publish, #publish_async, #publish_batch, #publish_batch_async, #redirect_url
Constructor Details
#initialize(*args) ⇒ Client
Returns a new instance of Client.
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/keen/client.rb', line 35 def initialize(*args) = args[0] unless .is_a?(Hash) # deprecated, pass a hash of options instead = { :project_id => args[0], :write_key => args[1], :read_key => args[2], }.merge(args[3] || {}) end self.project_id, self.write_key, self.read_key, self.master_key = .values_at( :project_id, :write_key, :read_key, :master_key) self.api_url = [:api_url] || CONFIG[:api_url] self.proxy_url, self.proxy_type = .values_at(:proxy_url, :proxy_type) self.read_timeout = [:read_timeout].to_f unless [:read_timeout].nil? end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(_method, *args, &block) ⇒ Object (private)
159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/keen/client.rb', line 159 def method_missing(_method, *args, &block) if config = CONFIG[_method.to_sym] if config.is_a?(Proc) config.call(*args) else config end else super end end |
Instance Attribute Details
#api_url ⇒ Object
Returns the value of attribute api_url.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def api_url @api_url end |
#master_key ⇒ Object
Returns the value of attribute master_key.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def master_key @master_key end |
#project_id ⇒ Object
Returns the value of attribute project_id.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def project_id @project_id end |
#proxy_type ⇒ Object
Returns the value of attribute proxy_type.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def proxy_type @proxy_type end |
#proxy_url ⇒ Object
Returns the value of attribute proxy_url.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def proxy_url @proxy_url end |
#read_key ⇒ Object
Returns the value of attribute read_key.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def read_key @read_key end |
#read_timeout ⇒ Object
Returns the value of attribute read_timeout.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def read_timeout @read_timeout end |
#write_key ⇒ Object
Returns the value of attribute write_key.
18 19 20 |
# File 'lib/keen/client.rb', line 18 def write_key @write_key end |