class Commons::Repositories::Catalogs::BaseCatalog
Public Class Methods
new()
click to toggle source
# File lib/commons/repositories/catalogs/base_catalog.rb, line 57 def initialize @db_client ||= class_object end
Public Instance Methods
create_from_params!(params)
click to toggle source
Método que realiza un guardado de un objeto
@param [Array<Hash>] params Listado de parámetros del objeto
@return [Object] Objeto creado
@raises [ActiveRecord::RecordInvalid]
# 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)
click to toggle source
Método que realiza una busqueda o guardado de un objeto
@param [Array<Hash>] params Listado de parámetros del objeto @param [block] block
@return [Object] Objeto creado
@raises [ActiveRecord::RecordInvalid]
# 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)
click to toggle source
Método que realiza un guardado de un objeto
@param [Array<Hash>] params Listado de parámetros del objeto
@return [Object] Objeto creado
@raises [ActiveRecord::RecordInvalid]
# 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
Private Instance Methods
class_object()
click to toggle source
# File lib/commons/repositories/catalogs/base_catalog.rb, line 61 def class_object model_name = self.class.to_s.gsub("Repository", "") Object.const_get model_name end