Class: Dry::Types::Implication
- Inherits:
-
Object
- Object
- Dry::Types::Implication
- Includes:
- Composition
- Defined in:
- lib/dry/types/implication.rb
Overview
Implication type
Instance Attribute Summary
Attributes included from Composition
Attributes included from Options
Class Method Summary collapse
Instance Method Summary collapse
- #call_safe(input) ⇒ Object private
- #call_unsafe(input) ⇒ Object private
- #primitive?(value) ⇒ Boolean private
- #try(input) ⇒ Object
Methods included from Composition
#constrained?, #default?, #failure, included, #initialize, #name, #optional?, #success, #to_ast, #to_proc
Methods included from Printable
Methods included from Meta
#initialize, #meta, #pristine, #with
Methods included from Options
Methods included from Builder
#&, #>, #constrained, #constrained_type, #constructor, #constructor_type, #default, #enum, #fallback, #lax, #maybe, #optional, #|
Methods included from Type
Class Method Details
.operator ⇒ Object
11 |
# File 'lib/dry/types/implication.rb', line 11 def self.operator = :> |
Instance Method Details
#call_safe(input) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
31 32 33 34 35 36 37 |
# File 'lib/dry/types/implication.rb', line 31 def call_safe(input, &) if left.try(input).success? right.call_safe(input, &) else input end end |
#call_unsafe(input) ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
18 19 20 21 22 23 24 |
# File 'lib/dry/types/implication.rb', line 18 def call_unsafe(input) if left.try(input).success? right.call_unsafe(input) else input end end |
#primitive?(value) ⇒ Boolean
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
55 56 57 58 59 60 61 |
# File 'lib/dry/types/implication.rb', line 55 def primitive?(value) if left.primitive?(value) right.primitive?(value) else true end end |