Module: Lite::Validation::Validator::Result::Valid::Iterable

Defined in:
lib/lite/validation/validator/result/valid/iterable.rb,
lib/lite/validation/validator/result/valid/iterable/hash.rb,
lib/lite/validation/validator/result/valid/iterable/array/tuples.rb,
lib/lite/validation/validator/result/valid/iterable/array/values.rb,
lib/lite/validation/validator/result/valid/iterable/array/abstract.rb

Defined Under Namespace

Modules: Array Classes: Hash

Class Method Summary collapse

Class Method Details

.initial(commit:) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/lite/validation/validator/result/valid/iterable.rb', line 21

def self.initial(commit:)
  case commit
  when :hash, false then Array::Tuples.instance(commit)
  when :array then Array::Values.instance
  else raise Error, "Unexpected option: #{commit}"
  end
end

.instance(children, commit:) ⇒ Object



13
14
15
16
17
18
19
# File 'lib/lite/validation/validator/result/valid/iterable.rb', line 13

def self.instance(children, commit:)
  if children.empty?
    initial(commit: commit)
  else
    Hash.instance(commit, children)
  end
end