module Keen::Client::MaintenanceMethods

Public Instance Methods

delete(event_collection, params={}) click to toggle source

Runs a delete query. See detailed documentation here: keen.io/docs/maintenance/#deleting-event-collections

@param event_collection @param params [Hash] (optional)

filters (optional) [Array]
# File lib/keen/client/maintenance_methods.rb, line 12
def delete(event_collection, params={})
  ensure_project_id!
  ensure_master_key!

  query_params = preprocess_params(params) if params != {}

  begin
    response = http_sync.delete(
        :path => [api_event_collection_resource_path(event_collection), query_params].compact.join('?'),
        :headers => api_headers(self.master_key, "sync"))
  rescue Exception => http_error
    raise HttpError.new("Couldn't perform delete of #{event_collection} on Keen IO: #{http_error.message}", http_error)
  end

  response_body = response.body ? response.body.chomp : ''
  process_response(response.code, response_body)
end
event_collection(event_collection) click to toggle source

Return the named collection for the configured project See detailed documentation here: keen.io/docs/api/reference/#event-collection-resource

# File lib/keen/client/maintenance_methods.rb, line 71
def event_collection(event_collection)
  ensure_project_id!
  ensure_master_key!

  begin
    response = http_sync.get(
        :path => "/#{api_version}/projects/#{project_id}/events/#{event_collection}",
        :headers => api_headers(self.master_key, "sync"))
  rescue Exception => http_error
    raise HttpError.new("Couldn't perform events on Keen IO: #{http_error.message}", http_error)
  end

  response_body = response.body ? response.body.chomp : ''
  process_response(response.code, response_body)
end
event_collections() click to toggle source

Return list of collections for the configured project See detailed documentation here: keen.io/docs/api/reference/#event-resource

# File lib/keen/client/maintenance_methods.rb, line 33
def event_collections
  ensure_project_id!
  ensure_master_key!

  begin
    response = http_sync.get(
        :path => "/#{api_version}/projects/#{project_id}/events",
        :headers => api_headers(self.master_key, "sync"))
  rescue Exception => http_error
    raise HttpError.new("Couldn't perform events on Keen IO: #{http_error.message}", http_error)
  end

  response_body = response.body ? response.body.chomp : ''
  process_response(response.code, response_body)
end
project_info() click to toggle source

Return details for the current project See detailed documentation here: keen.io/docs/api/reference/#project-resource

# File lib/keen/client/maintenance_methods.rb, line 52
def project_info
  ensure_project_id!
  ensure_master_key!

  begin
    response = http_sync.get(
        :path => "/#{api_version}/projects/#{project_id}",
        :headers => api_headers(self.master_key, "sync"))
  rescue Exception => http_error
    raise HttpError.new("Couldn't perform project info on Keen IO: #{http_error.message}", http_error)
  end

  response_body = response.body ? response.body.chomp : ''
  process_response(response.code, response_body)
end

Private Instance Methods

http_sync() click to toggle source
# File lib/keen/client/maintenance_methods.rb, line 89
def http_sync
  @http_sync ||= Keen::HTTP::Sync.new(self.api_url, self.proxy_url, self.read_timeout, self.open_timeout)
end