class Travis::Client::Collection
Public Instance Methods
collection_key()
click to toggle source
# File lib/travis/client/collection.rb, line 26 def collection_key @collection_key ||= begin session.fetch(@href) if @payload.keys.all? { |k| k.start_with? '@' } @payload.keys.detect { |k| !k.start_with?('@') and self[k].is_a? Array } end end
each(&block)
click to toggle source
# File lib/travis/client/collection.rb, line 55 def each(&block) return enum_for(:each) unless block on_page.each(&block) next_page&.each(&block) self end
first_page()
click to toggle source
# File lib/travis/client/collection.rb, line 45 def first_page return self if first_page? pagination_info['first']&.fetch end
first_page?()
click to toggle source
# File lib/travis/client/collection.rb, line 22 def first_page? pagination_info.fetch('is_first', true) end
last_page()
click to toggle source
# File lib/travis/client/collection.rb, line 50 def last_page return self if last_page? pagination_info['last']&.fetch end
last_page?()
click to toggle source
# File lib/travis/client/collection.rb, line 18 def last_page? pagination_info.fetch('is_last', true) end
next_page()
click to toggle source
# File lib/travis/client/collection.rb, line 37 def next_page pagination_info['next']&.fetch end
offset()
click to toggle source
# File lib/travis/client/collection.rb, line 10 def offset pagination_info['offset'] || 0 end
on_page()
click to toggle source
# File lib/travis/client/collection.rb, line 14 def on_page @on_page ||= Array(@payload[collection_key]) end
paginates?()
click to toggle source
# File lib/travis/client/collection.rb, line 6 def paginates? !!@payload['@pagination'] end
pagination_info()
click to toggle source
# File lib/travis/client/collection.rb, line 62 def pagination_info @pagination_info ||= @payload['@pagination'] || {} end
previous_page()
click to toggle source
# File lib/travis/client/collection.rb, line 41 def previous_page pagination_info['prev']&.fetch end
size()
click to toggle source
# File lib/travis/client/collection.rb, line 33 def size pagination_info['count'] || on_page.size end