Sha256: 4a4a6caa2995653cb09857e0d1d81288457ae7190e6c59ed543b62cb9e361c90

Contents?: true

Size: 1.76 KB

Versions: 1

Compression:

Stored size: 1.76 KB

Contents

module Keen
  class Client
    module MaintenanceMethods

      # Runs a delete query.
      # See detailed documentation here:
      # https://keen.io/docs/maintenance/#deleting-event-collections
      #
      # @param event_collection
      # @param params [Hash] (optional)
      #   filters (optional) [Array]
      def delete(event_collection, params={})
        ensure_project_id!
        ensure_master_key!

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

        begin
          response = Keen::HTTP::Sync.new(self.api_url, self.proxy_url).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

      # Runs an events query.
      # See detailed documentation here:
      # https://keen.io/docs/api/reference/#event-resource
      def event_collections
        ensure_project_id!
        ensure_master_key!

        begin
          response = Keen::HTTP::Sync.new(self.api_url, self.proxy_url).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

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
keen-0.8.3 lib/keen/client/maintenance_methods.rb