Class: Lite::Validation::Validator::Result::Valid::Iterable::Array::Tuples

Inherits:
Abstract::Instance show all
Includes:
Abstract
Defined in:
lib/lite/validation/validator/result/valid/iterable/array/tuples.rb

Constant Summary

Constants included from Abstract

Abstract::EMPTY

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Abstract::Commit

#commit, #unexpected_option!

Methods included from Disputable::Iterable

#navigate

Methods included from Result::Abstract::Success

#failure?, #to_result

Methods inherited from Disputable::Instance

#committed?, #refute, #refuted?

Methods included from Result::Abstract::Refutable

#refute, #refuted?

Methods included from Result::Abstract::Disputable

#dispute

Methods included from Result::Abstract

#success?

Class Method Details

.instance(commit, *args) ⇒ Object



17
18
19
# File 'lib/lite/validation/validator/result/valid/iterable/array/tuples.rb', line 17

def self.instance(commit, *args)
  new(commit, [], *args)
end

Instance Method Details

#child(_key) ⇒ Object



33
34
35
# File 'lib/lite/validation/validator/result/valid/iterable/array/tuples.rb', line 33

def child(_key)
  Result.valid
end

#inspectObject



21
22
23
# File 'lib/lite/validation/validator/result/valid/iterable/array/tuples.rb', line 21

def inspect
  signature('Valid::Iterable::Array::Tuples', nil)
end

#merge(result, key) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/lite/validation/validator/result/valid/iterable/array/tuples.rb', line 37

def merge(result, key)
  if result.failure?
    Disputed::Iterable.initial.append(result, key)
  else
    merge_success(result, key)
    self
  end
end


25
26
27
28
29
30
31
# File 'lib/lite/validation/validator/result/valid/iterable/array/tuples.rb', line 25

def navigable
  case commit_as
  when false then Valid.navigable(children.to_h.freeze)
  when :hash then commit(children.to_h.freeze)
  else unexpected_option!(commit_as)
  end
end