Sha256: 2da502f6768da4749b3122ee5fcaa6916585bc12a93cf27a4e550a4c39e62fef

Contents?: true

Size: 480 Bytes

Versions: 8

Compression:

Stored size: 480 Bytes

Contents

module Dry
  module Types
    class Constrained
      class Coercible < Constrained
        def try(input, &block)
          result = type.try(input)

          if result.success?
            validation = rule.(result.input)

            if validation.success?
              result
            else
              block ? yield(validation) : validation
            end
          else
            block ? yield(result) : result
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
dry-types-0.9.2 lib/dry/types/constrained/coercible.rb
dry-types-0.9.1 lib/dry/types/constrained/coercible.rb
dry-types-0.9.0 lib/dry/types/constrained/coercible.rb
dry-types-0.8.1 lib/dry/types/constrained/coercible.rb
dry-types-0.8.0 lib/dry/types/constrained/coercible.rb
dry-types-0.7.2 lib/dry/types/constrained/coercible.rb
dry-types-0.7.1 lib/dry/types/constrained/coercible.rb
dry-types-0.7.0 lib/dry/types/constrained/coercible.rb