Class: MODL::Parser::IndexExtractor
- Inherits:
-
Object
- Object
- MODL::Parser::IndexExtractor
- Defined in:
- lib/modl/parser/modl_index.rb
Overview
Extracts an index definition from a ParsedPair
Class Method Summary collapse
Class Method Details
.extract(pair, global) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/modl/parser/modl_index.rb', line 5 def self.extract(pair, global) item = pair.valueItem if pair.valueItem item = pair.array if pair.array # collect all values from the object if item.is_a? Parsed::ParsedValueItem if item&.value&.text global.index << item.value.text elsif item&.value&.array item.value.array.abstractArrayItems.each do |avi| global.add_to_index(avi.arrayValueItem) end elsif item&.value&.nbArray item.value.nbArray.arrayItems.each do |avi| global.add_to_index(avi.arrayValueItem) end end elsif item.is_a? Parsed::ParsedArray item.abstractArrayItems.each do |avi| global.add_to_index(avi.arrayValueItem) end end end |