class ATSD::SeriesQuery

Class for building and executing Series Query @see axibase.com/atsd/api/#series:-query

Public Instance Methods

execute() click to toggle source

Executes query and sets `result` attribute.

@return (see result)

# File lib/atsd/queries/series_query.rb, line 30
def execute
  result = @client.series_query to_request_hash
  @result = result.map { |series_json| Series.new series_json }
end
execute_with(*others) click to toggle source

Executes multiple queries at the same time. Adds `request_id` parameter to each query if necessary. All queries will have a corresponding `series` attribute set.

@param [SeriesQuery] others list of series query to execute with receiver @return [Array<Series>] all results

# File lib/atsd/queries/series_query.rb, line 41
def execute_with(*others)
  others ||= []
  queries = [self] + others
  queries_by_id = {}
  if queries.count > 1
    queries.each_with_index do |query, index|
      query.request_id("query_#{index}")
      query.result = []
      queries_by_id[query[:request_id]] = query
    end
  end

  results = @client.series_query queries.map {|q| q.to_request_hash}
  results.map! { |json| Series.new(json) }
  results.each { |r| queries_by_id[r.requestId].result << r }
end
result() click to toggle source

@return [Array<Series>]

Calls superclass method ATSD::BaseQuery#result
# File lib/atsd/queries/series_query.rb, line 12
def result
  super
end
tag_add(name, values) click to toggle source

Add tag to `tags` parameter

@param [String] name tag name @param [String, Array<String>] values possible tag value of array of values.

`*` and `?` wildcards allowed.

@return [self]

# File lib/atsd/queries/series_query.rb, line 22
def tag_add(name, values)
  self[:tags][name] = Utils.ensure_array(values)
  self
end