Sha256: 3fdff345e86371268136ea9617967c56856efe67d4c4204aa185da2901309dd7
Contents?: true
Size: 833 Bytes
Versions: 2
Compression:
Stored size: 833 Bytes
Contents
module Alma class BibItemSet extend Forwardable # Let BibItemSet respond to the Enumerable duck type # by delegating responsibility for #each to items include Enumerable attr_accessor :items def_delegators :items, :each def_delegators :items,:[], :[]=, :empty?, :size attr_reader :raw_response, :total_record_count def_delegators :raw_response, :response, :request def initialize(response) @raw_response = response parsed = JSON.parse(response.body) @total_record_count = parsed["total_record_count"] @items = parsed.fetch("item",[]).map {|item| BibItem.new(item)} end def grouped_by_library group_by(&:library) end def filter_missing_and_lost clone = dup clone.items = reject(&:missing_or_lost?) clone end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alma-0.2.8 | lib/alma/bib_item_set.rb |
alma-0.2.6 | lib/alma/bib_item_set.rb |