module Kanji::Types::TypeInterface
Public Instance Methods
constrained?()
click to toggle source
# File lib/kanji/types/type_interface.rb, line 34 def constrained? true end
failure(obj, error)
click to toggle source
# File lib/kanji/types/type_interface.rb, line 22 def failure(obj, error) Dry::Types::Result::Failure.new(obj, error) end
optional()
click to toggle source
# File lib/kanji/types/type_interface.rb, line 30 def optional Dry::Types::Sum.new(Kanji::Types::Nil, self) end
success(obj)
click to toggle source
# File lib/kanji/types/type_interface.rb, line 18 def success(obj) Dry::Types::Result::Success.new(obj) end
try(obj) { |result| ... }
click to toggle source
# File lib/kanji/types/type_interface.rb, line 6 def try(obj, &block) result = valid?(obj) ? success(obj) : failure(obj, constraint_error(obj)) return result if result.success? if block yield(result) else result end end
valid?()
click to toggle source
# File lib/kanji/types/type_interface.rb, line 38 def valid? raise NotImplementedError, "You must implement the valid? method" end
|(other)
click to toggle source
# File lib/kanji/types/type_interface.rb, line 26 def |(other) Dry::Types::Sum::Constrained.new(self, other) end