Sha256: d2b5e17b1d493b30249bfbc425a4b64b41da42bd07b54c1e86e4322a53b97acb
Contents?: true
Size: 1.01 KB
Versions: 9
Compression:
Stored size: 1.01 KB
Contents
module RemoteResource class Collection include Enumerable delegate :[], :at, :reverse, :size, to: :to_a attr_reader :resource_klass, :resources_collection, :meta, :_response def initialize(resource_klass, resources_collection, response_hash) @resource_klass = resource_klass @resources_collection = resources_collection @response_hash = response_hash @meta = response_hash[:meta] || {} @_response = response_hash[:_response] end def each(&block) if resources_collection.is_a? Array if defined?(@collection) @collection.each(&block) else @collection = [] resources_collection.each do |element| record = resource_klass.new element.merge(@response_hash) @collection << record yield(record) end end end end def empty? resources_collection.blank? end def success? _response.success? end end end
Version data entries
9 entries across 9 versions & 1 rubygems