Module: Creditario::Catalogs

Extended by:
API::List
Defined in:
lib/creditario/repositories/catalogs.rb

Overview

Creditario::Catalogs

Repositorio de Catálogos, permite realizar las siguientes operaciones sobre Catálogos de creditar.io:

  • Obtener todos los Catálogos disponibles:

    result = Creditario::Catalogs.list
    => Creditario::ResourcesCollection
    
    result.items
    => [Creditario::Catalog, Creditario::Catalog, ...]
    
  • Obtener los valores de un Catálogo en especifico:

    Creditario::Catalog.retrieve(resource: "customer", field: "source")
    => Creditario::ResourcesCollection
    

Class Method Summary collapse

Methods included from API::List

list

Class Method Details

.resource_classObject

Clase a utilizar para transformar las respuestas de la API.



37
38
39
40
41
42
43
# File 'lib/creditario/repositories/catalogs.rb', line 37

def self.resource_class
  if caller_locations[0].label == "retrieve"
    Creditario::CatalogValue
  else
    Creditario::Catalog
  end
end

.resource_pathObject

Path de la API donde se ejecutan las peticiones para Catálogos



27
28
29
30
31
32
33
# File 'lib/creditario/repositories/catalogs.rb', line 27

def self.resource_path
  if caller_locations[0].label == "retrieve"
    "/catalog"
  else
    "/catalogs"
  end
end

.retrieve(**search_params) ⇒ Object

Método para obtener los valores de un Catálogo, que generalmente son varios. Es por ello que no se extendió el modulo Creditario::API::Retrieve ya que ese está pensado para procesar un solo Recurso a la vez.

Los search_params necesitan ser *resource* y *field* tal y como se especifica en la descripción del Repositorio Creditario::Catalogs.



52
53
54
55
56
57
# File 'lib/creditario/repositories/catalogs.rb', line 52

def self.retrieve(**search_params)
  response = API.request(:get, resource_path, search_params)
  ResourcesCollection.new(response, self.resource_class)
rescue Creditario::Exceptions::ResourceNotFoundError => exception
  exception.server_response
end