Module: Rails::Angulate::Mappers
- Defined in:
- lib/rails/angulate/mappers.rb,
lib/rails/angulate/mappers/base_mapper.rb,
lib/rails/angulate/mappers/validator_mapper.rb,
lib/rails/angulate/mappers/format_validator_mapper.rb,
lib/rails/angulate/mappers/length_validator_mapper.rb,
lib/rails/angulate/mappers/numericality_validator_mapper.rb
Defined Under Namespace
Classes: BaseMapper, FormatValidatorMapper, LengthValidatorMapper, NumericalityValidatorMapper, ValidatorMapper
Constant Summary
collapse
- @@lock =
Mutex.new
- @@mappers =
{}
Class Method Summary
collapse
Class Method Details
.create_validator_mapper_for(model, attribute_name, validator) ⇒ Object
20
21
22
23
24
25
26
27
28
29
|
# File 'lib/rails/angulate/mappers.rb', line 20
def self.create_validator_mapper_for(model, attribute_name, validator)
@@lock.synchronize do
if klass = @@mappers[validator.kind]
klass.new(model, attribute_name, validator)
else
ValidatorMapper.new(model, attribute_name, validator)
end
end
end
|
.register_mapper(constant, kind = nil) ⇒ Object
9
10
11
12
13
14
15
16
17
18
|
# File 'lib/rails/angulate/mappers.rb', line 9
def self.register_mapper(constant, kind = nil)
@@lock.synchronize do
if kind.nil?
kind = constant.name.split('::').last
.sub('ValidatorMapper', '').underscore
end
@@mappers[kind.to_sym] = constant unless kind.blank?
end
end
|