Class: Lurch::Paginator
- Inherits:
-
Object
- Object
- Lurch::Paginator
- Defined in:
- lib/lurch/paginator.rb
Instance Method Summary collapse
- #first? ⇒ Boolean
- #first_collection ⇒ Object
-
#initialize(store, document, inflector, config) ⇒ Paginator
constructor
A new instance of Paginator.
- #last? ⇒ Boolean
- #last_collection ⇒ Object
- #next? ⇒ Boolean
- #next_collection ⇒ Object
- #page_count ⇒ Object
- #prev? ⇒ Boolean
- #prev_collection ⇒ Object
- #record_count ⇒ Object
Constructor Details
#initialize(store, document, inflector, config) ⇒ Paginator
Returns a new instance of Paginator.
3 4 5 6 7 8 9 |
# 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 |
Instance Method Details
#first? ⇒ Boolean
45 46 47 |
# File 'lib/lurch/paginator.rb', line 45 def first? !!first_link end |
#first_collection ⇒ Object
29 30 31 |
# File 'lib/lurch/paginator.rb', line 29 def first_collection first_link && @store.load_from_url(first_link) end |
#last? ⇒ Boolean
49 50 51 |
# File 'lib/lurch/paginator.rb', line 49 def last? !!last_link end |
#last_collection ⇒ Object
33 34 35 |
# File 'lib/lurch/paginator.rb', line 33 def last_collection last_link && @store.load_from_url(last_link) end |
#next? ⇒ Boolean
37 38 39 |
# File 'lib/lurch/paginator.rb', line 37 def next? !!next_link end |
#next_collection ⇒ Object
21 22 23 |
# File 'lib/lurch/paginator.rb', line 21 def next_collection next_link && @store.load_from_url(next_link) end |
#page_count ⇒ Object
16 17 18 19 |
# File 'lib/lurch/paginator.rb', line 16 def page_count key = @inflector.encode_key(@config.pagination_page_count_key) @meta[key] end |
#prev? ⇒ Boolean
41 42 43 |
# File 'lib/lurch/paginator.rb', line 41 def prev? !!prev_link end |
#prev_collection ⇒ Object
25 26 27 |
# File 'lib/lurch/paginator.rb', line 25 def prev_collection prev_link && @store.load_from_url(prev_link) end |
#record_count ⇒ Object
11 12 13 14 |
# File 'lib/lurch/paginator.rb', line 11 def record_count key = @inflector.encode_key(@config.pagination_record_count_key) @meta[key] end |