Sha256: c90c82fb620356b6abdfdcb382e343ccf15c111163cd6cd0affb59a191ae0e2b

Contents?: true

Size: 684 Bytes

Versions: 3

Compression:

Stored size: 684 Bytes

Contents

module AppMonit
  class Query
    class << self
      %w(count count_unique minimum maximum average sum funnel).each do |method_name|
        define_method method_name do |collection_name, params|
          query(method_name, collection_name, params)
        end
      end

      def query(method_name, collection_name, params)
        require 'cgi'
        path = "/v1/queries/#{method_name}"

        params[:event_collection] = collection_name

        response = Http.get("#{path}?query=#{CGI.escape(params.to_json)}")

        case response.code.to_i
          when 200
            JSON.parse(response.body)
          else
            nil
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
app_monit-0.0.3 lib/app_monit/query.rb
app_monit-0.0.2 lib/app_monit/query.rb
app_monit-0.0.1 lib/app_monit/query.rb