Sha256: 55d9cbabf1eccf31345a1fd9b7fff2793fb0b76e919a224b4e0fe38bb571796d
Contents?: true
Size: 860 Bytes
Versions: 4
Compression:
Stored size: 860 Bytes
Contents
module NCore module All extend ActiveSupport::Concern module ClassMethods 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.metadata = 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 def first(params={}, api_creds=nil) params = params.with_indifferent_access.merge(max_results: 1) all(params, api_creds).first end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ncore-1.2.1 | lib/ncore/methods/all.rb |
ncore-1.2.0 | lib/ncore/methods/all.rb |
ncore-1.1.0 | lib/ncore/methods/all.rb |
ncore-1.0.0 | lib/ncore/methods/all.rb |