Sha256: d14805fcb640a35ffc77e2e87c926dc52b45d8073c78f9c7db5fb52663c6e414

Contents?: true

Size: 405 Bytes

Versions: 1

Compression:

Stored size: 405 Bytes

Contents

require 'dry/types/decorator'

module Dry
  module Types
    class Safe
      include Decorator
      include Builder

      def call(input)
        if input.is_a?(primitive)
          type.call(input)
        else
          input
        end
      end
      alias_method :[], :call

      private

      def decorate?(response)
        super || response.kind_of?(Constructor)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-types-0.6.0 lib/dry/types/safe.rb