Module: Mongoid::Fields::Validators::Macro
- Extended by:
- Macro
- Included in:
- Macro
- Defined in:
- build/mongoid-7.3/lib/mongoid/fields/validators/macro.rb
Overview
Validates the params passed to the field macro.
Constant Summary collapse
- FIELD_TYPE_IS_SYMBOL =
The warning message to give when a field is of type Symbol.
'The BSON symbol type is deprecated; use String instead'.freeze
- OPTIONS =
[ :as, :default, :identity, :label, :localize, :fallbacks, :association, :pre_processed, :subtype, :type, :overwrite ]
Instance Method Summary collapse
-
#validate(klass, name, options) ⇒ Object
Validate the field definition.
-
#validate_field_name(klass, name) ⇒ Object
private
Determine if the field name is valid, if not raise an error.
-
#validate_relation(klass, name, options = {}) ⇒ Object
Validate the association definition.
Instance Method Details
#validate(klass, name, options) ⇒ Object
Validate the field definition.
41 42 43 44 45 |
# File 'build/mongoid-7.3/lib/mongoid/fields/validators/macro.rb', line 41 def validate(klass, name, ) validate_field_name(klass, name) validate_name_uniqueness(klass, name, ) (klass, name, ) end |
#validate_field_name(klass, name) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Determine if the field name is valid, if not raise an error.
76 77 78 79 80 81 82 |
# File 'build/mongoid-7.3/lib/mongoid/fields/validators/macro.rb', line 76 def validate_field_name(klass, name) [name, "#{name}?".to_sym, "#{name}=".to_sym].each do |n| if Mongoid.destructive_fields.include?(n) raise Errors::InvalidField.new(klass, n) end end end |
#validate_relation(klass, name, options = {}) ⇒ Object
Validate the association definition.
57 58 59 60 61 62 63 |
# File 'build/mongoid-7.3/lib/mongoid/fields/validators/macro.rb', line 57 def validate_relation(klass, name, = {}) [name, "#{name}?".to_sym, "#{name}=".to_sym].each do |n| if Mongoid.destructive_fields.include?(n) raise Errors::InvalidRelation.new(klass, n) end end end |