Module: FleetAPI::PaginatedCollection
- Included in:
- Client::Machines, Client::Units
- Defined in:
- lib/fleet_api/paginated_collection.rb
Defined Under Namespace
Modules: Attributes
Class Method Summary collapse
Instance Method Summary collapse
- #all(params = {}) ⇒ Object
- #collection_request ⇒ Object
- #collection_root ⇒ Object
- #next_page ⇒ Object
Class Method Details
.included(klass) ⇒ Object
2 3 4 5 |
# File 'lib/fleet_api/paginated_collection.rb', line 2 def self.included(klass) klass.attribute :nextPageToken klass.send(:extend, FleetAPI::PaginatedCollection::Attributes) end |
Instance Method Details
#all(params = {}) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/fleet_api/paginated_collection.rb', line 29 def all(params={}) response = connection.send(self.collection_request, params) collection = self.clone.load(response.body[self.collection_root]) collection end |
#collection_request ⇒ Object
21 22 23 |
# File 'lib/fleet_api/paginated_collection.rb', line 21 def collection_request self.class.instance_variable_get(:@collection_request) end |
#collection_root ⇒ Object
17 18 19 |
# File 'lib/fleet_api/paginated_collection.rb', line 17 def collection_root self.class.instance_variable_get(:@collection_root) end |
#next_page ⇒ Object
25 26 27 |
# File 'lib/fleet_api/paginated_collection.rb', line 25 def next_page all("url" => self.next_link) if self.next_link end |