Class: Lite::Validation::Validator::Option::Some::Complex::Wrappers::Tuple

Inherits:
Abstract::NonIterable
  • Object
show all
Defined in:
lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb

Instance Method Summary collapse

Instance Method Details

#inspectObject



37
38
39
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 37

def inspect
  "#<Option::Some::Tuple (#{value.map(&:inspect).join(', ')})>"
end

#some?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 33

def some?
  value.all?(&:some?)
end

#some_or_nilObject



13
14
15
16
17
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 13

def some_or_nil
  return self if some?

  self.class.new(value.map(&:some_or_nil))
end

#to_option(coordinator) ⇒ Object



19
20
21
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 19

def to_option(coordinator)
  value.map { _1.to_option(coordinator) }
end

#transposeObject



27
28
29
30
31
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 27

def transpose
  return Option.none unless some?

  Option.some(value.map(&:value))
end

#unwrapObject



23
24
25
# File 'lib/lite/validation/validator/option/some/complex/wrappers/tuple.rb', line 23

def unwrap
  transpose.unwrap
end