Sha256: a9313d0b3e2c40131e2b257914e044afac2bed8f3bcd36dfd1a7a865c254f74a

Contents?: true

Size: 590 Bytes

Versions: 10

Compression:

Stored size: 590 Bytes

Contents

# frozen_string_literal: true

require 'dry/container'
require 'dry/types'

module Dry
  module Schema
    # A class to build containers for custom types, which can be used in schemas
    #
    # @example
    #   MyTypeContainer = Dry::Schema::TypeContainer.new
    #   MyTypeContainer.register('params.fancy_string', Types::FancyString)
    #
    # @api public
    class TypeContainer
      include Dry::Container::Mixin

      def initialize(types_container = Dry::Types.container)
        super()

        merge(types_container)
      end

      alias registered? key?
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
dry-schema-1.4.3 lib/dry/schema/type_container.rb
dry-schema-1.4.2 lib/dry/schema/type_container.rb
dry-schema-1.4.1 lib/dry/schema/type_container.rb
dry-schema-1.4.0 lib/dry/schema/type_container.rb
dry-schema-1.3.4 lib/dry/schema/type_container.rb
dry-schema-1.3.3 lib/dry/schema/type_container.rb
dry-schema-1.3.2 lib/dry/schema/type_container.rb
dry-schema-1.3.1 lib/dry/schema/type_container.rb
dry-schema-1.3.0 lib/dry/schema/type_container.rb
dry-schema-1.2.0 lib/dry/schema/type_container.rb