Class: Stupidedi::Versions::FunctionalGroups::FiftyTen::SyntaxNotes::L
Overview
List Conditional: if the first element specified in the condition is present, then at least one of the remaining elements must be present
Instance Attribute Summary
#indexes
Class Method Summary
collapse
Instance Method Summary
collapse
#errors, #initialize, #satisfied?
Class Method Details
.build(*args) ⇒ Object
159
160
161
|
# File 'lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb', line 159
def build(*args)
new(args)
end
|
Instance Method Details
#forbidden(zipper) ⇒ Object
149
150
151
|
# File 'lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb', line 149
def forbidden(zipper)
[]
end
|
#reason(zipper) ⇒ Object
153
154
155
|
# File 'lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb', line 153
def reason(zipper)
"at least one of elements #{indexes.tail.join(", ")} must be present when element #{indexes.head} is present"
end
|
#required(zipper) ⇒ Object
140
141
142
143
144
145
146
147
|
# File 'lib/stupidedi/versions/functional_groups/005010/syntax_notes.rb', line 140
def required(zipper)
if zipper.child(indexes.head - 1).node.present?
xs = children(zipper).tail
xs.any?{|x| x.node.present? } ? [] : xs
else
[]
end
end
|