Class: Bronze::Transforms::Entities::NormalizeTransform
- Inherits:
-
Bronze::Transform
- Object
- Bronze::Transform
- Bronze::Transforms::Entities::NormalizeTransform
- Defined in:
- lib/bronze/transforms/entities/normalize_transform.rb
Overview
Transform class that maps an entity to a normal representation.
Instance Attribute Summary collapse
-
#entity_class ⇒ Class
readonly
The entity class to normalize.
-
#permitted_types ⇒ Array<Class>
readonly
Array of types to normalize as-is.
Instance Method Summary collapse
-
#denormalize(attributes) ⇒ Bronze::Entity
Returns an entity instance.
-
#initialize(entity_class, permit: []) ⇒ NormalizeTransform
constructor
A new instance of NormalizeTransform.
-
#normalize(entity) ⇒ Hash
Returns a normalized representation of the entity.
Constructor Details
#initialize(entity_class, permit: []) ⇒ NormalizeTransform
Returns a new instance of NormalizeTransform.
15 16 17 18 |
# File 'lib/bronze/transforms/entities/normalize_transform.rb', line 15 def initialize(entity_class, permit: []) @entity_class = entity_class @permitted_types = permit end |
Instance Attribute Details
#entity_class ⇒ Class (readonly)
Returns the entity class to normalize.
21 22 23 |
# File 'lib/bronze/transforms/entities/normalize_transform.rb', line 21 def entity_class @entity_class end |
#permitted_types ⇒ Array<Class> (readonly)
Returns array of types to normalize as-is.
24 25 26 |
# File 'lib/bronze/transforms/entities/normalize_transform.rb', line 24 def permitted_types @permitted_types end |
Instance Method Details
#denormalize(attributes) ⇒ Bronze::Entity
Returns an entity instance.
33 34 35 36 37 |
# File 'lib/bronze/transforms/entities/normalize_transform.rb', line 33 def denormalize(attributes) return nil if attributes.nil? entity_class.denormalize(attributes) end |
#normalize(entity) ⇒ Hash
Returns a normalized representation of the entity.
46 47 48 49 50 |
# File 'lib/bronze/transforms/entities/normalize_transform.rb', line 46 def normalize(entity) return nil if entity.nil? entity.normalize(permit: permitted_types) end |