class Datamappify::Entity::Composable::Validators
Public Class Methods
build(entity, entity_class, options)
click to toggle source
# File lib/datamappify/entity/composable/validators.rb, line 6 def build(entity, entity_class, options) @entity = entity @entity_class = entity_class @options = options build_validators run_validators end
Private Class Methods
build_validators()
click to toggle source
@return (see attributes_from)
# 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)
click to toggle source
@param validator [Validator]
@param prefix (see rename_validators)
@return [void]
# 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)
click to toggle source
@param prefix [Symbol]
@return [void]
# 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()
click to toggle source
@return [void]
# 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.options) end end end