Module: Hanami::V1::Validations
- Defined in:
- lib/hanami/v1/validations.rb,
lib/hanami/v1/validations/form.rb,
lib/hanami/v1/validations/namespace.rb,
lib/hanami/v1/validations/inline_predicate.rb
Overview
Hanami::Validations is a set of lightweight validations for Ruby objects.
Defined Under Namespace
Modules: ClassMethods, Form Classes: InlinePredicate, Namespace
Constant Summary collapse
- DEFAULT_MESSAGES_ENGINE =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
:yaml
Class Method Summary collapse
-
.included(base) ⇒ Object
private
Override Ruby’s hook for modules.
Instance Method Summary collapse
-
#initialize(input = {}) ⇒ Object
Initialize a new instance of a validator.
-
#to_h ⇒ Hash
Returns a Hash with the defined attributes as symbolized keys, and their relative values.
-
#validate ⇒ Rdy::Validations::Result
Validates the object.
Class Method Details
.included(base) ⇒ 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.
Override Ruby’s hook for modules.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/hanami/v1/validations.rb', line 51 def self.included(base) base.class_eval do extend ClassMethods include Hanami::Utils::ClassAttribute class_attribute :schema class_attribute :_messages class_attribute :_messages_path class_attribute :_namespace class_attribute :_predicates_module class_attribute :_predicates self._predicates = Set.new end end |
Instance Method Details
#initialize(input = {}) ⇒ Object
Initialize a new instance of a validator
364 365 366 |
# File 'lib/hanami/v1/validations.rb', line 364 def initialize(input = {}) @input = input.to_h end |
#to_h ⇒ Hash
Returns a Hash with the defined attributes as symbolized keys, and their relative values.
383 384 385 |
# File 'lib/hanami/v1/validations.rb', line 383 def to_h validate.output end |
#validate ⇒ Rdy::Validations::Result
Validates the object.
373 374 375 |
# File 'lib/hanami/v1/validations.rb', line 373 def validate self.class.schema.call(@input) end |