Class: Creditario::PaginatedCollection
- Inherits:
-
Object
- Object
- Creditario::PaginatedCollection
- Defined in:
- lib/creditario/utils/paginated_collection.rb
Overview
Creditario::PaginatedCollection
Representa una colección de recursos paginados, a los cuales se puede acceder mediante el atributo items
.
También contiene información relacionada a los recursos relacionados mediante el atributo links
.
Así como los cursores de la paginación, encontados en el atributo cursors
Instance Attribute Summary collapse
-
#cursors ⇒ Object
readonly
Información sobre el siguiente cursor utilizado en la paginación.
-
#items ⇒ Object
readonly
Arreglo de todos los recursos obtenidos de la API.
-
#links ⇒ Object
readonly
Links relacionados a la llamada realizada a la API.
Instance Method Summary collapse
-
#initialize(json_response = {}, item_class) ⇒ PaginatedCollection
constructor
Recibe el JSON parseado de la llamada ejecutada a la API y lo procesa obteniendo así la colección de items de la clase específica a la que pertenecen, los links y los cursores de paginación.
Constructor Details
#initialize(json_response = {}, item_class) ⇒ PaginatedCollection
Recibe el JSON parseado de la llamada ejecutada a la API y lo procesa obteniendo así la colección de items de la clase específica a la que pertenecen, los links y los cursores de paginación.
31 32 33 34 35 |
# File 'lib/creditario/utils/paginated_collection.rb', line 31 def initialize(json_response = {}, item_class) @items = build_items(json_response.dig("data"), item_class) @links = json_response.dig("links") @cursors = json_response.dig("pagination", "cursors") end |
Instance Attribute Details
#cursors ⇒ Object (readonly)
Información sobre el siguiente cursor utilizado en la paginación
25 26 27 |
# File 'lib/creditario/utils/paginated_collection.rb', line 25 def cursors @cursors end |
#items ⇒ Object (readonly)
Arreglo de todos los recursos obtenidos de la API
17 18 19 |
# File 'lib/creditario/utils/paginated_collection.rb', line 17 def items @items end |
#links ⇒ Object (readonly)
Links relacionados a la llamada realizada a la API
21 22 23 |
# File 'lib/creditario/utils/paginated_collection.rb', line 21 def links @links end |