Sha256: 0bf15695d62b6b00aa4a6ffd6a494892ac0310375b69c6dfb08f1ebf100cbece
Contents?: true
Size: 600 Bytes
Versions: 3
Compression:
Stored size: 600 Bytes
Contents
require 'dry/types/hash/schema' module Dry module Types class Hash < Definition def schema(type_map, klass = Safe) member_types = type_map.each_with_object({}) { |(name, type), result| result[name] = case type when String, Class then Types[type] else type end } klass.new(primitive, options.merge(member_types: member_types)) end def strict(type_map) schema(type_map, Strict) end def symbolized(type_map) schema(type_map, Symbolized) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
dry-types-0.7.2 | lib/dry/types/hash.rb |
dry-types-0.7.1 | lib/dry/types/hash.rb |
dry-types-0.7.0 | lib/dry/types/hash.rb |