Class: Creditario::PaginatedCollection

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#cursorsObject (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

#itemsObject (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 relacionados a la llamada realizada a la API



21
22
23
# File 'lib/creditario/utils/paginated_collection.rb', line 21

def links
  @links
end