Class: ExistingClassValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- ExistingClassValidator
- Defined in:
- app/validators/existing_class_validator.rb
Overview
validate field contains the name of an existing class
Instance Method Summary collapse
-
#validate_each(record, attr, value) ⇒ Object
:call-seq: validate_each :record, :attr, :value.
Instance Method Details
#validate_each(record, attr, value) ⇒ Object
:call-seq: validate_each :record, :attr, :value
validates that value is the name of an existing class
9 10 11 12 13 14 15 |
# File 'app/validators/existing_class_validator.rb', line 9 def validate_each(record, attr, value) types = value.split(/::/).map(&:to_sym) item_type_result = types.inject(Module) do |constant, name| constant.const_get(name) if constant && constant.constants.include?(name) end record.errors[attr] << 'unknown module or class' unless item_type_result.present? end |