Sha256: 58b5d9b03202ebe0405ebe281beb1109c4b06a748468b71856326c1de76f83a6

Contents?: true

Size: 875 Bytes

Versions: 27

Compression:

Stored size: 875 Bytes

Contents

module Foobara
  module BuiltinTypes
    module Number
      module SupportedValidators
        class Max < TypeDeclarations::Validator
          class MaxExceededError < Foobara::Value::DataError
            class << self
              def context_type_declaration
                {
                  value: :number,
                  max: :number
                }
              end
            end
          end

          def max
            declaration_data
          end

          def validation_errors(value)
            if value > max
              build_error(value)
            end
          end

          def error_message(value)
            "Max exceeded. #{value} is larger than #{max}"
          end

          def error_context(value)
            {
              value:,
              max:
            }
          end
        end
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
foobara-0.0.7 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.6 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.5 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.4 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.3 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.2 projects/builtin_types/src/number/supported_validators/max.rb
foobara-0.0.1 projects/builtin_types/src/number/supported_validators/max.rb