Module: Keen::Client::QueryingMethods

Included in:
Keen::Client
Defined in:
lib/keen/client/querying_methods.rb

Instance Method Summary collapse

Instance Method Details

#average(event_collection, params) ⇒ Object

Runs a average query. See detailed documentation here: keen.io/docs/api/reference/#average-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



96
97
98
# File 'lib/keen/client/querying_methods.rb', line 96

def average(event_collection, params)
  query(__method__, event_collection, params)
end

#count(event_collection, params = {}) ⇒ Object

Runs a count query. See detailed documentation here: keen.io/docs/api/reference/#count-resource

Parameters:

  • event_collection
  • params (Hash) (defaults to: {})

    (optional) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



16
17
18
# File 'lib/keen/client/querying_methods.rb', line 16

def count(event_collection, params={})
  query(__method__, event_collection, params)
end

#count_unique(event_collection, params) ⇒ Object

Runs a count unique query. See detailed documentation here: keen.io/docs/api/reference/#count-unique-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



32
33
34
# File 'lib/keen/client/querying_methods.rb', line 32

def count_unique(event_collection, params)
  query(__method__, event_collection, params)
end

#extraction(event_collection, params = {}) ⇒ Object

Runs a extraction query. See detailed documentation here: keen.io/docs/api/reference/#extraction-resource

Parameters:

  • event_collection
  • params (Hash) (defaults to: {})

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional) latest (optional)



162
163
164
# File 'lib/keen/client/querying_methods.rb', line 162

def extraction(event_collection, params={})
  query(__method__, event_collection, params)
end

#funnel(params) ⇒ Object

Runs a funnel query. See detailed documentation here: keen.io/docs/api/reference/#funnel-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) steps (required)



173
174
175
# File 'lib/keen/client/querying_methods.rb', line 173

def funnel(params)
  query(__method__, nil, params)
end

#maximum(event_collection, params) ⇒ Object

Runs a maximum query. See detailed documentation here: keen.io/docs/api/reference/#maximum-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



64
65
66
# File 'lib/keen/client/querying_methods.rb', line 64

def maximum(event_collection, params)
  query(__method__, event_collection, params)
end

#median(event_collection, params) ⇒ Object

Runs a median query. See detailed documentation here: keen.io/docs/api/reference/#median-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



112
113
114
# File 'lib/keen/client/querying_methods.rb', line 112

def median(event_collection, params)
  query(__method__, event_collection, params)
end

#minimum(event_collection, params) ⇒ Object

Runs a minimum query. See detailed documentation here: keen.io/docs/api/reference/#minimum-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



48
49
50
# File 'lib/keen/client/querying_methods.rb', line 48

def minimum(event_collection, params)
  query(__method__, event_collection, params)
end

#multi_analysis(event_collection, params) ⇒ Object

Runs a multi-analysis query See detailed documentation here: keen.io/docs/data-analysis/multi-analysis/

NOTE: why isn’t multi-analysis listed in the

API Technical Reference?

Parameters:

  • event_collection
  • params (Hash)

    analyses [Hash] (required)

    label (required)
    analysis_type (required)
    target_property (optional)
    


190
191
192
# File 'lib/keen/client/querying_methods.rb', line 190

def multi_analysis(event_collection, params)
  query(__method__, event_collection, params)
end

#percentile(event_collection, params) ⇒ Object

Runs a percentile query. See detailed documentation here: keen.io/docs/api/reference/#percentile-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) percentile (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



129
130
131
# File 'lib/keen/client/querying_methods.rb', line 129

def percentile(event_collection, params)
  query(__method__, event_collection, params)
end

#query(analysis_type, event_collection, params = {}) ⇒ Object

Run a query

Parameters:

  • event_colection
  • params (Hash) (defaults to: {})

    (required) analysis_type (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



220
221
222
223
224
225
# File 'lib/keen/client/querying_methods.rb', line 220

def query(analysis_type, event_collection, params={})
  url = _query_url(analysis_type, event_collection, params)
  response = get_response(url)
  response_body = response.body.chomp
  process_response(response.code, response_body)["result"]
end

#query_url(analysis_type, event_collection, params = {}, options = {}) ⇒ Object

Returns the URL for a Query without running it

Parameters:

  • event_colection
  • params (Hash) (defaults to: {})

    (required) analysis_type (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)

  • options (defaults to: {})

    exclude_api_key



205
206
207
208
209
# File 'lib/keen/client/querying_methods.rb', line 205

def query_url(analysis_type, event_collection, params={}, options={})
  str = _query_url(analysis_type, event_collection, params)
  str << "&api_key=#{self.read_key}" unless options[:exclude_api_key]
  str
end

#select_unique(event_collection, params) ⇒ Object

Runs a select_unique query. See detailed documentation here: keen.io/docs/api/reference/#select-unique-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



145
146
147
# File 'lib/keen/client/querying_methods.rb', line 145

def select_unique(event_collection, params)
  query(__method__, event_collection, params)
end

#sum(event_collection, params) ⇒ Object

Runs a sum query. See detailed documentation here: keen.io/docs/api/reference/#sum-resource

Parameters:

  • event_collection
  • params (Hash)

    (optional) target_property (required) group_by (optional) timeframe (optional) interval (optional) filters (optional) [Array] timezone (optional)



80
81
82
# File 'lib/keen/client/querying_methods.rb', line 80

def sum(event_collection, params)
  query(__method__, event_collection, params)
end