Module: NCore::All::ClassMethods

Defined in:
lib/ncore/methods/all.rb

Instance Method Summary collapse

Instance Method Details

#all(params = {}, api_creds = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/ncore/methods/all.rb', line 6

def all(params={}, api_creds=nil)
  parsed, creds = request(:get, url, api_creds, params)
  if parsed[:errors].any?
    raise parent::QueryError, parsed[:errors]
  end
  Collection.new.tap do |coll|
    coll. = parsed[:metadata]
    parsed[:data].each do |hash|
      if key = hash[:object]
        coll << discover_class(key, self).new(hash.merge(metadata: parsed[:metadata]), creds)
      else
        coll << new(hash.merge(metadata: parsed[:metadata]), creds)
      end
    end
  end
end

#first(params = {}, api_creds = nil) ⇒ Object



23
24
25
26
# File 'lib/ncore/methods/all.rb', line 23

def first(params={}, api_creds=nil)
  params = params.with_indifferent_access.merge(max_results: 1)
  all(params, api_creds).first
end