Class: NexosisApi::ListQuery

Inherits:
Object
  • Object
show all
Defined in:
lib/nexosis_api/list_queries.rb

Overview

Class to hold general query options for list requests

Since:

  • 3.0.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = { 'page_number': 0, 'page_size': 50 }, *additional_keys) ⇒ ListQuery

Returns a new instance of ListQuery.

Since:

  • 3.0.0



6
7
8
9
10
11
12
# File 'lib/nexosis_api/list_queries.rb', line 6

def initialize(options = { 'page_number': 0, 'page_size': 50 }, *additional_keys)
  assert_valid_keys(options, :page_number, :page_size, :sort_order, :sort_by, additional_keys)
  @page_number = options.key?(:page_number) ? options[:page_number] : 0
  @page_size = options.key?(:page_size) ? options[:page_size] : 50
  @sort_order = NexosisApi::SortOrder.const_get(options[:sort_order].upcase) if options.key? :sort_order
  @sort_by = options[:sort_by] if options.key? :sort_by
end

Instance Attribute Details

#page_numberInteger

zero-based page number of results to retrieve

Returns:

  • (Integer)

Since:

  • 3.0.0



30
31
32
# File 'lib/nexosis_api/list_queries.rb', line 30

def page_number
  @page_number
end

#page_sizeInteger

Count of results to retrieve in each page (max 1000).

Returns:

  • (Integer)

Since:

  • 3.0.0



26
27
28
# File 'lib/nexosis_api/list_queries.rb', line 26

def page_size
  @page_size
end

#sort_byString

Note:
  • each entity has different possibilities. See the api doc links on each list type for more information.

The name of an entity property to sort by

Returns:

  • (String)

Since:

  • 3.0.0



39
40
41
# File 'lib/nexosis_api/list_queries.rb', line 39

def sort_by
  @sort_by
end

#sort_orderNexosisApi::SortOrder

Direction to sort the results.

Returns:

Since:

  • 3.0.0



34
35
36
# File 'lib/nexosis_api/list_queries.rb', line 34

def sort_order
  @sort_order
end

Instance Method Details

#to_hashObject

Since:

  • 3.0.0



14
15
16
17
18
19
20
21
22
# File 'lib/nexosis_api/list_queries.rb', line 14

def to_hash
  query = {
    'page': @page_number,
    'pageSize': @page_size
  }
  query.store(:sortOrder, @sort_order) unless @sort_order.nil?
  query.store(:sortBy, @sort_by) unless @sort_by.nil?
  query
end