Class: Commons::Repositories::BaseRepository
- Inherits:
-
Object
- Object
- Commons::Repositories::BaseRepository
- Includes:
- Singleton
- Defined in:
- lib/commons/repositories/base_repository.rb
Instance Method Summary collapse
-
#all ⇒ Arrat<Object>?
Método que devuelve todos los objetos activos.
-
#create!(object) ⇒ Boolean
Método que realiza un guardado de un objeto.
-
#create_from_params!(**params) ⇒ Object
Método que realiza un guardado de un objeto.
-
#deleted ⇒ Object?
Método que devuelve todos los objetos que han sido eliminados.
-
#destroy!(object) ⇒ Object
Método que realiza un borrado lógico de un objeto.
-
#find ⇒ Object?
Método que devuelve el objeto según su ID.
-
#find_by ⇒ Object?
Método que devuelve el objeto según parámetros.
-
#find_by! ⇒ Object
Método que devuelve el objeto según parámetros.
-
#find_deleted(id) ⇒ Object?
Método que devuelve el objeto según su ID.
-
#find_deleted_by(params) ⇒ Object?
Método que devuelve el objeto según parámetros.
-
#find_deleted_by!(params) ⇒ Object
Método que devuelve el objeto según parámetros.
-
#find_or_create_by! ⇒ Object
Método que realiza una busqueda o guardado de un objeto.
-
#update!(object) ⇒ Boolean
Método que guarda los cambios realizados a una instancia del objeto.
-
#update_from_params!(id:, **params) ⇒ Object
Método que realiza un guardado de un objeto.
-
#where ⇒ Object?
(also: #query)
Método que devuelve todos los objetos que no han sido eliminados.
-
#where_first_or_create!(params, attributes = nil, &block) ⇒ Object
Método que realiza una busqueda de la primer entrada, en caso de no encontrarlo crea un objeto con el bloque.
Instance Method Details
#all ⇒ Arrat<Object>?
Método que devuelve todos los objetos activos
11 |
# File 'lib/commons/repositories/base_repository.rb', line 11 delegate :all, to: :@db_client |
#create!(object) ⇒ Boolean
Método que realiza un guardado de un objeto
100 101 102 103 104 105 |
# File 'lib/commons/repositories/base_repository.rb', line 100 def create!(object) raise ArgumentError unless object.is_a?(@db_client) raise ActiveRecord::RecordInvalid.new(object) unless object.valid? save_object(object) end |
#create_from_params!(**params) ⇒ Object
Método que realiza un guardado de un objeto
116 117 118 |
# File 'lib/commons/repositories/base_repository.rb', line 116 def create_from_params!(**params) @db_client.create!(**params) end |
#deleted ⇒ Object?
Método que devuelve todos los objetos que han sido eliminados
26 27 28 29 30 |
# File 'lib/commons/repositories/base_repository.rb', line 26 def deleted raise ActiveModel::MissingAttributeError unless @db_client.include? Commons::Concerns::Extensions::SoftDeleted @db_client.unscoped.where.not(deleted_at: nil) end |
#destroy!(object) ⇒ Object
Método que realiza un borrado lógico de un objeto
193 194 195 196 197 198 199 |
# File 'lib/commons/repositories/base_repository.rb', line 193 def destroy!(object) if @db_client.include? Commons::Concerns::Extensions::SoftDeleted soft_delete!(object) else hard_delete!(object) end end |
#find ⇒ Object?
Método que devuelve el objeto según su ID
37 |
# File 'lib/commons/repositories/base_repository.rb', line 37 delegate :find, to: :@db_client |
#find_by ⇒ Object?
Método que devuelve el objeto según parámetros
55 |
# File 'lib/commons/repositories/base_repository.rb', line 55 delegate :find_by, to: :@db_client |
#find_by! ⇒ Object
Método que devuelve el objeto según parámetros
75 |
# File 'lib/commons/repositories/base_repository.rb', line 75 delegate :find_by!, to: :@db_client |
#find_deleted(id) ⇒ Object?
Método que devuelve el objeto según su ID
44 45 46 47 48 |
# File 'lib/commons/repositories/base_repository.rb', line 44 def find_deleted(id) raise ActiveModel::MissingAttributeError unless @db_client.include? Commons::Concerns::Extensions::SoftDeleted @db_client.unscoped.where(id: id).where.not(deleted_at: nil).first end |
#find_deleted_by(params) ⇒ Object?
Método que devuelve el objeto según parámetros
62 63 64 65 66 |
# File 'lib/commons/repositories/base_repository.rb', line 62 def find_deleted_by(params) raise ActiveModel::MissingAttributeError unless @db_client.include? Commons::Concerns::Extensions::SoftDeleted @db_client.unscoped.where.not(deleted_at: nil).where(**params).first end |
#find_deleted_by!(params) ⇒ Object
Método que devuelve el objeto según parámetros
84 85 86 87 88 |
# File 'lib/commons/repositories/base_repository.rb', line 84 def find_deleted_by!(params) raise ActiveModel::MissingAttributeError unless @db_client.include? Commons::Concerns::Extensions::SoftDeleted @db_client.unscoped.where.not(deleted_at: nil).where(**params).first! end |
#find_or_create_by! ⇒ Object
Método que realiza una busqueda o guardado de un objeto
130 |
# File 'lib/commons/repositories/base_repository.rb', line 130 delegate :find_or_create_by!, to: :@db_client |
#update!(object) ⇒ Boolean
Método que guarda los cambios realizados a una instancia del objeto
157 158 159 160 161 162 163 164 165 |
# File 'lib/commons/repositories/base_repository.rb', line 157 def update!(object) if !object.is_a?(@db_client) || object.id.blank? raise ArgumentError end raise ActiveRecord::RecordInvalid.new(object) unless object.valid? save_object(object) end |
#update_from_params!(id:, **params) ⇒ Object
Método que realiza un guardado de un objeto
176 177 178 179 180 181 |
# File 'lib/commons/repositories/base_repository.rb', line 176 def update_from_params!(id:, **params) object = @db_client.find_by!(id: id) object.update!(params) object end |
#where ⇒ Object? Also known as: query
Método que devuelve todos los objetos que no han sido eliminados
18 |
# File 'lib/commons/repositories/base_repository.rb', line 18 delegate :where, to: :@db_client |
#where_first_or_create!(params, attributes = nil, &block) ⇒ Object
Método que realiza una busqueda de la primer entrada, en caso de no encontrarlo crea un objeto con el bloque
143 144 145 |
# File 'lib/commons/repositories/base_repository.rb', line 143 def where_first_or_create!(params, attributes = nil, &block) @db_client.where(params).first_or_create!(attributes, &block) end |