class GlobalRegistryModels::Collection
Public Class Methods
new(meta:, list:)
click to toggle source
# File lib/global_registry_models/collection.rb, line 10 def initialize(meta:, list:) @meta = meta @list = list end
Public Instance Methods
all()
click to toggle source
# File lib/global_registry_models/collection.rb, line 32 def all @list end
each() { |object| ... }
click to toggle source
# File lib/global_registry_models/collection.rb, line 15 def each @list.each { |object| yield object } end
first()
click to toggle source
# File lib/global_registry_models/collection.rb, line 24 def first @list.first end
first_page?()
click to toggle source
# File lib/global_registry_models/collection.rb, line 44 def first_page? page == 1 end
from()
click to toggle source
# File lib/global_registry_models/collection.rb, line 56 def from @meta['from'] end
last()
click to toggle source
# File lib/global_registry_models/collection.rb, line 28 def last @list.last end
last_page?()
click to toggle source
# File lib/global_registry_models/collection.rb, line 40 def last_page? !@meta['next_page'] end
next_page()
click to toggle source
# File lib/global_registry_models/collection.rb, line 48 def next_page last_page? ? nil : page + 1 end
order(attribute)
click to toggle source
# File lib/global_registry_models/collection.rb, line 19 def order(attribute) @list = @list.sort_by {|obj| obj.send attribute} return self end
page()
click to toggle source
# File lib/global_registry_models/collection.rb, line 36 def page @meta['page'] end
per()
click to toggle source
# File lib/global_registry_models/collection.rb, line 64 def per (to - from) + 1 end
prev_page()
click to toggle source
# File lib/global_registry_models/collection.rb, line 52 def prev_page first_page? ? nil : page - 1 end
to()
click to toggle source
# File lib/global_registry_models/collection.rb, line 60 def to @meta['to'] end
to_csv()
click to toggle source
# File lib/global_registry_models/collection.rb, line 68 def to_csv CSV.generate do |csv| attributes = @list.first.attributes.collect(&:first).sort csv << attributes @list.each do |entity| csv << attributes.collect { |attribute| entity.attributes[attribute] } end end end