Class: ATSD::BaseQuery Abstract

Inherits:
Hashie::Clash
  • Object
show all
Includes:
Hashie::Extensions::Coercion
Defined in:
lib/atsd/queries/base_query.rb

Overview

This class is abstract.

Base class for API query builders

Constant Summary collapse

TO_MILLISECONDS_LAMBDA =
->(v) do
  case v
    when Time
      v.to_i * 1_000
    else
      v.to_i
  end
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ BaseQuery

Returns a new instance of BaseQuery.

Parameters:



11
12
13
# File 'lib/atsd/queries/base_query.rb', line 11

def initialize(client)
  @client = client
end

Instance Attribute Details

#clientClient (readonly)

Returns:



8
9
10
# File 'lib/atsd/queries/base_query.rb', line 8

def client
  @client
end

#resultObject

Result of query execution.

Returns:

  • (Object)

Raises:



48
49
50
51
# File 'lib/atsd/queries/base_query.rb', line 48

def result
  @result ||= execute
  @result
end

Instance Method Details

#executeObject

Execute query on client

Returns:

  • (Object)

Raises:



40
41
42
# File 'lib/atsd/queries/base_query.rb', line 40

def execute
  raise NotImplementedError
end

#to_request_hashHash

Build request parameters hash

Returns:



33
34
35
# File 'lib/atsd/queries/base_query.rb', line 33

def to_request_hash
  Utils::CamelizeKeys.camelize_keys(self)
end

#type(type) ⇒ self

specifies source for underlying data

Parameters:

  • type (String)

    see Type for possible values

Returns:

  • (self)


21
22
23
24
25
26
27
28
# File 'lib/atsd/queries/base_query.rb', line 21

TO_MILLISECONDS_LAMBDA = ->(v) do
  case v
    when Time
      v.to_i * 1_000
    else
      v.to_i
  end
end