Class: Datamappify::Entity::Composable::Validators
- Inherits:
-
Object
- Object
- Datamappify::Entity::Composable::Validators
- Defined in:
- lib/datamappify/entity/composable/validators.rb
Class Method Summary collapse
- .build(entity, entity_class, options) ⇒ Object
- .build_validators ⇒ Object private
- .rename_validator_attributes(validator, prefix) ⇒ void private
- .rename_validators(prefix) ⇒ void private
- .run_validators ⇒ void private
Class Method Details
.build(entity, entity_class, options) ⇒ Object
6 7 8 9 10 11 12 13 |
# File 'lib/datamappify/entity/composable/validators.rb', line 6 def build(entity, entity_class, ) @entity = entity @entity_class = entity_class @options = build_validators run_validators end |
.build_validators ⇒ Object (private)
18 19 20 21 22 23 24 |
# File 'lib/datamappify/entity/composable/validators.rb', line 18 def build_validators if @options[:prefix_with] rename_validators(@options[:prefix_with]) else @entity_class._validators.each { |k, v| @entity._validators[k] = v.dup } end end |
.rename_validator_attributes(validator, prefix) ⇒ void (private)
This method returns an undefined value.
42 43 44 45 46 47 48 49 |
# File 'lib/datamappify/entity/composable/validators.rb', line 42 def rename_validator_attributes(validator, prefix) validator.instance_variable_set( :@attributes, validator.attributes.map { |name| Attribute.prefix(name, prefix) } ) validator end |
.rename_validators(prefix) ⇒ void (private)
This method returns an undefined value.
29 30 31 32 33 34 35 |
# File 'lib/datamappify/entity/composable/validators.rb', line 29 def rename_validators(prefix) @entity_class._validators.each do |attribute_name, validators| @entity._validators[Attribute.prefix(attribute_name, prefix)] = validators.map do |validator| rename_validator_attributes(validator.dup, prefix) end end end |
.run_validators ⇒ void (private)
This method returns an undefined value.
52 53 54 55 56 57 58 |
# File 'lib/datamappify/entity/composable/validators.rb', line 52 def run_validators @entity._validators.each do |_, validators| validators.each do |validator| @entity.validate(validator, validator.) end end end |