Sha256: 4c33782a067848acfdc09f07e45e13c495d73a41f02cc4266d39fe7661eed332

Contents?: true

Size: 1020 Bytes

Versions: 4

Compression:

Stored size: 1020 Bytes

Contents

module Dry
  module Validation
    class InputProcessorCompiler::Sanitizer < InputProcessorCompiler
      PREDICATE_MAP = {
        default: 'string',
        none?: 'nil',
        bool?: 'bool',
        str?: 'string',
        int?: 'int',
        float?: 'float',
        decimal?: 'decimal',
        date?: 'date',
        date_time?: 'date_time',
        time?: 'time',
        hash?: 'hash',
        array?: 'array'
      }.freeze

      CONST_MAP = {
        NilClass => 'nil',
        String => 'string',
        Integer => 'int',
        Float => 'float',
        BigDecimal => 'decimal',
        Array => 'array',
        Hash => 'hash',
        Date => 'date',
        DateTime => 'date_time',
        Time => 'time',
        TrueClass => 'true',
        FalseClass => 'false'
      }.freeze

      def identifier
        :sanitizer
      end

      def hash_node(schema)
        [:hash, [:weak, schema, {}]]
      end

      def array_node(members)
        [:array, [members, {}]]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dry-validation-0.11.2 lib/dry/validation/input_processor_compiler/sanitizer.rb
dry-validation-0.12.0 lib/dry/validation/input_processor_compiler/sanitizer.rb
dry-validation-0.11.1 lib/dry/validation/input_processor_compiler/sanitizer.rb
dry-validation-0.11.0 lib/dry/validation/input_processor_compiler/sanitizer.rb