Module: Hanami::Validations

Defined in:
lib/hanami/validations.rb,
lib/hanami/validations/form.rb,
lib/hanami/validations/version.rb,
lib/hanami/validations/namespace.rb,
lib/hanami/validations/predicates.rb,
lib/hanami/validations/inline_predicate.rb

Overview

Hanami::Validations is a set of lightweight validations for Ruby objects.

Examples:

require 'hanami/validations'

class 
  include Hanami::Validations

  validations do
    # ...
  end
end

Since:

  • 0.1.0

Defined Under Namespace

Modules: ClassMethods, Form, Predicates 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.

Since:

  • 0.6.0

:yaml
VERSION =

Since:

  • 0.1.0

"1.3.7"

Class Method Summary collapse

Instance Method Summary collapse

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.



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/hanami/validations.rb', line 50

def self.included(base)
  base.class_eval do
    extend ClassMethods

    include 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

Since:

  • 0.6.0



363
364
365
# File 'lib/hanami/validations.rb', line 363

def initialize(input = {})
  @input = input.to_h
end

#to_hHash

Returns a Hash with the defined attributes as symbolized keys, and their relative values.

Since:

  • 0.1.0



382
383
384
# File 'lib/hanami/validations.rb', line 382

def to_h
  validate.output
end

#validateDry::Validations::Result

Validates the object.

Since:

  • 0.2.4



372
373
374
# File 'lib/hanami/validations.rb', line 372

def validate
  self.class.schema.call(@input)
end