Class: Kentaa::Api::Resources::List
- Inherits:
-
Base
- Object
- Base
- Kentaa::Api::Resources::List
show all
- Defined in:
- lib/kentaa/api/resources/list.rb
Instance Attribute Summary
Attributes inherited from Base
#config, #options
Instance Method Summary
collapse
Methods inherited from Base
#initialize, #load, #loaded?
Instance Method Details
#all ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/kentaa/api/resources/list.rb', line 55
def all
enumerator = Enumerator.new do |yielder|
page = 1
loop do
response = self.class.new(config, options.merge(page: page))
response.each { |item| yielder.yield item }
raise StopIteration unless response.next_page?
page = response.next_page
end
end
enumerator.lazy
end
|
#current_page ⇒ Object
27
28
29
|
# File 'lib/kentaa/api/resources/list.rb', line 27
def current_page
body[:current_page]
end
|
#links ⇒ Object
7
8
9
|
# File 'lib/kentaa/api/resources/list.rb', line 7
def links
body[:links]
end
|
#next ⇒ Object
47
48
49
|
# File 'lib/kentaa/api/resources/list.rb', line 47
def next
self.class.new(config, options.merge(page: next_page)) if next_page?
end
|
#next_page ⇒ Object
31
32
33
|
# File 'lib/kentaa/api/resources/list.rb', line 31
def next_page
current_page + 1 if next_page?
end
|
#next_page? ⇒ Boolean
35
36
37
|
# File 'lib/kentaa/api/resources/list.rb', line 35
def next_page?
current_page && current_page < total_pages
end
|
#pages ⇒ Object
11
12
13
|
# File 'lib/kentaa/api/resources/list.rb', line 11
def pages
links[:pages] if links
end
|
#per_page ⇒ Object
23
24
25
|
# File 'lib/kentaa/api/resources/list.rb', line 23
def per_page
body[:per_page]
end
|
#previous ⇒ Object
51
52
53
|
# File 'lib/kentaa/api/resources/list.rb', line 51
def previous
self.class.new(config, options.merge(page: previous_page)) if previous_page?
end
|
#previous_page ⇒ Object
39
40
41
|
# File 'lib/kentaa/api/resources/list.rb', line 39
def previous_page
current_page - 1 if previous_page?
end
|
#previous_page? ⇒ Boolean
43
44
45
|
# File 'lib/kentaa/api/resources/list.rb', line 43
def previous_page?
current_page && current_page > 1
end
|
#total_entries ⇒ Object
15
16
17
|
# File 'lib/kentaa/api/resources/list.rb', line 15
def total_entries
body[:total_entries]
end
|
#total_pages ⇒ Object
19
20
21
|
# File 'lib/kentaa/api/resources/list.rb', line 19
def total_pages
body[:total_pages]
end
|