Class: Stupidedi::Versions::FunctionalGroups::FortyTen::SyntaxNotes::R
- Inherits:
-
Schema::SyntaxNote
show all
- Defined in:
- lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb
Overview
Required: at least one of the elements specified in the condition
must be present
Instance Attribute Summary
#indexes
Class Method Summary
(collapse)
Instance Method Summary
(collapse)
#errors, #initialize, #satisfied?
Class Method Details
+ build(*args)
70
71
72
|
# File 'lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb', line 70
def build(*args)
new(args)
end
|
Instance Method Details
- forbidden(zipper)
58
59
60
|
# File 'lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb', line 58
def forbidden(zipper)
[]
end
|
- reason(zipper)
62
63
64
65
66
|
# File 'lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb', line 62
def reason(zipper)
present = indexes.select{|n| zipper.child(n - 1).node.present? }
missing = indexes - present
"at least one of elements #{missing.join(", ")} must be present when elements #{present.join(", ")} are present"
end
|
- required(zipper)
49
50
51
52
53
54
55
56
|
# File 'lib/stupidedi/versions/functional_groups/004010/syntax_notes.rb', line 49
def required(zipper)
if zipper.node.present?
xs = children(zipper)
xs.any?{|x| x.node.present? } ? [] : xs
else
[]
end
end
|