Sha256: f23b3aeaddc6cbdaea9e4718ae3f9ac800d224782fca2d0f065dbf713a096a39

Contents?: true

Size: 928 Bytes

Versions: 3

Compression:

Stored size: 928 Bytes

Contents

module Nwsdk
  class Values
    include Helpers

    attr_accessor :key_name, :flags, :limit, :condition, :endpoint

    def initialize(*args)
      Hash[*args].each {|k,v| self.send("%s="%k, v)}
      @flags    ||= %w{ sort-total sessions order-descending }
      @limit    ||= 10000
      @key_name ||= 'service'
    end

    def build_request
      endpoint.get_request(
        path: 'sdk',
        params: {
          msg:       'values',
          where:     condition.format(use_time: false),
          time1:     format_timestamp(condition.time1.utc),
          time2:     format_timestamp(condition.time2.utc),
          size:      limit,
          flags:     flags.join(','),
          fieldName: key_name
        }
      )
    end

    def request
      result=build_request.execute
      if response_successful?(result)
        count_results(JSON.parse(result))
      else
        result
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
nwsdk-1.2.0 lib/nwsdk/values.rb
nwsdk-1.1.7 lib/nwsdk/values.rb
nwsdk-1.1.3 lib/nwsdk/values.rb