Class: Commons::Repositories::Catalogs::BaseCatalog

Inherits:
Object
  • Object
show all
Includes:
Concerns::ModelCachingExtention, Singleton
Defined in:
lib/commons/repositories/catalogs/base_catalog.rb

Instance Method Summary collapse

Instance Method Details

#create_from_params!(params) ⇒ Object

Método que realiza un guardado de un objeto

Parameters:

  • params (Array<Hash>)

    Listado de parámetros del objeto

Returns:

  • (Object)

    Objeto creado



17
18
19
20
# File 'lib/commons/repositories/catalogs/base_catalog.rb', line 17

def create_from_params!(params)
  clear_cache
  @db_client.create!(params)
end

#find_or_create_by!(params, &block) ⇒ Object

Método que realiza una busqueda o guardado de un objeto

Parameters:

  • params (Array<Hash>)

    Listado de parámetros del objeto

  • block (block)

Returns:

  • (Object)

    Objeto creado



32
33
34
35
36
# File 'lib/commons/repositories/catalogs/base_catalog.rb', line 32

def find_or_create_by!(params, &block)
  object = @db_client.find_by(params) || @db_client.create!(params, &block)
  clear_cache
  object
end

#update_from_params!(id:, **params) ⇒ Object

Método que realiza un guardado de un objeto

Parameters:

  • params (Array<Hash>)

    Listado de parámetros del objeto

Returns:

  • (Object)

    Objeto creado



47
48
49
50
51
52
53
# File 'lib/commons/repositories/catalogs/base_catalog.rb', line 47

def update_from_params!(id:, **params)
  object = @db_client.find_by!(id: id)
  object.update!(params)
  clear_cache

  object
end