Sha256: e475cb3163e3c3dca06b27b172290b12537bfddad894bfe70dc22f4352e59933

Contents?: true

Size: 781 Bytes

Versions: 2

Compression:

Stored size: 781 Bytes

Contents

module NxtSchema
  module Validators
    class Equality < Validator
      def initialize(expectation)
        @expectation = expectation
      end

      register_as :equal_to, :eql
      attr_reader :expectation

      # Query for equality validator(:equality, 3)
      # Query for equality validator(:eql, -> { 3 * 3 * 60 })

      def build
        lambda do |application, value|
          expected_value = Callable.new(expectation, nil, value).call

          if value == expected_value
            true
          else
            application.add_error(
              translate_error(
                application.locale,
                actual: value,
                expected: expected_value
              )
            )
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nxt_schema-1.0.1 lib/nxt_schema/validators/equal_to.rb
nxt_schema-1.0.0 lib/nxt_schema/validators/equal_to.rb