class Lurch::Paginator

Public Class Methods

new(store, document, inflector, config) click to toggle source
# File lib/lurch/paginator.rb, line 3
def initialize(store, document, inflector, config)
  @store = store
  @links = document["links"]
  @meta = document["meta"]
  @config = config
  @inflector = inflector
end

Public Instance Methods

first?() click to toggle source
# File lib/lurch/paginator.rb, line 45
def first?
  !!first_link
end
first_collection() click to toggle source
# File lib/lurch/paginator.rb, line 29
def first_collection
  first_link && @store.load_from_url(first_link)
end
last?() click to toggle source
# File lib/lurch/paginator.rb, line 49
def last?
  !!last_link
end
last_collection() click to toggle source
# File lib/lurch/paginator.rb, line 33
def last_collection
  last_link && @store.load_from_url(last_link)
end
next?() click to toggle source
# File lib/lurch/paginator.rb, line 37
def next?
  !!next_link
end
next_collection() click to toggle source
# File lib/lurch/paginator.rb, line 21
def next_collection
  next_link && @store.load_from_url(next_link)
end
page_count() click to toggle source
# File lib/lurch/paginator.rb, line 16
def page_count
  key = @inflector.encode_key(@config.pagination_page_count_key)
  @meta[key]
end
prev?() click to toggle source
# File lib/lurch/paginator.rb, line 41
def prev?
  !!prev_link
end
prev_collection() click to toggle source
# File lib/lurch/paginator.rb, line 25
def prev_collection
  prev_link && @store.load_from_url(prev_link)
end
record_count() click to toggle source
# File lib/lurch/paginator.rb, line 11
def record_count
  key = @inflector.encode_key(@config.pagination_record_count_key)
  @meta[key]
end

Private Instance Methods