Module: Switchyard::EnumBuilder::DataType::AnyEnum
- Includes:
- Monad
- Defined in:
- lib/switchyard/functional/enum.rb
Instance Method Summary
collapse
Methods included from Monad
#==, #bind, #fmap, #initialize, #inspect, #join, #value
Instance Method Details
#deconstruct ⇒ Object
Supporto al pattern matching nativo di Ruby (case/in):
case result
in Switchyard::Result::Success(s) then ...
in Switchyard::Result::Failure(f) then ...
end
#deconstruct_keys(_keys) ⇒ Object
17
18
19
|
# File 'lib/switchyard/functional/enum.rb', line 17
def match(&)
parent.match(self, &)
end
|
25
26
27
|
# File 'lib/switchyard/functional/enum.rb', line 25
def name
self.class.name.split("::")[-1]
end
|
21
22
23
|
# File 'lib/switchyard/functional/enum.rb', line 21
def to_s
value.to_s
end
|
#wrapped_values ⇒ Object
Returns array. Will fail on Nullary objects.
TODO: define a Unary module so we can define this method differently on Unary vs Binary
31
32
33
34
35
36
37
|
# File 'lib/switchyard/functional/enum.rb', line 31
def wrapped_values
if is_a?(Switchyard::EnumBuilder::DataType::Binary)
value.values
else
[value]
end
end
|