Module: Micro::Attributes::Features::ActiveModelValidations
- Defined in:
- lib/micro/attributes/features/activemodel_validations.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Class Method Details
.included(base) ⇒ Object
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/micro/attributes/features/activemodel_validations.rb', line 57 def self.included(base) begin require 'active_model' base.send(:include, ::ActiveModel::Validations) base.extend(ClassMethods) case when base <= Features::Accept::Strict then base.send(:include, WithAcceptStrict) when base <= Features::Accept then base.send(:include, WithAccept) else base.send(:include, Standard) end # When AM is mixed into any `Micro::Attributes` includer, auto-register # a validator that recurses through nested-attribute children so # `valid?` reflects deep descendant invalidity. The method is # provided by `Composition::Instance`. if base.include?(::Micro::Attributes) base.validate(:__validate_nested_entities__) end rescue LoadError end end |