Method: NexosisApi::Client::Models#list_models

Defined in:
lib/nexosis_api/client/models.rb

#list_models(datasource_name = nil, page = 0, page_size = 50, query_options = {}) ⇒ NexosisApi::PagedArray of NexosisApi::ModelSummary

Note:
  • query options dates can either be ISO 8601 compliant strings or Date objects

List all models created in your company, optionally filtered by query parameters

models created for this data source name.

Parameters:

  • datasource_name (String) (defaults to: nil)

    optionally limit to those

  • query_options (Hash) (defaults to: {})

    limit by dates: begin_date and/or end_date

Returns:

Raises:

Since:

  • 1.3.0


13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/nexosis_api/client/models.rb', line 13

def list_models(datasource_name = nil, page = 0, page_size = 50, query_options = {})
  model_url = '/models'
  query = {
    page: page,
    pageSize: page_size
  }
  unless query_options.empty?
    query.store('createdBeforeDate', query_options['end_date']) unless query_options['end_date'].nil?
    query.store('createdAfterDate', query_options['begin_date']) unless query_options['begin_date'].nil?
  end
  query.store(dataSourceName: datasource_name) unless datasource_name.nil?
  response = self.class.get(model_url, headers: @headers, query: query)
  raise HttpException.new("There was a problem listing models: #{response.code}.",
                          "listing models with data source name #{datasource_name}",
                          response) unless response.success?
  NexosisApi::PagedArray.new(response.parsed_response,
                             response.parsed_response['items']
                             .map { |item| NexosisApi::ModelSummary.new(item) })
end