class REX12::ElementWithSubElements

Attributes

sub_element_separator[R]

Public Class Methods

new(sub_elements, position, separator) click to toggle source
Calls superclass method REX12::Element::new
# File lib/rex12/element_with_subelements.rb, line 5
def initialize sub_elements, position, separator
  super(nil, position)
  @sub_elements = sub_elements.freeze
  @sub_element_separator = separator
end

Public Instance Methods

[](index) click to toggle source
# File lib/rex12/element_with_subelements.rb, line 35
def [](index)
  sub_el = sub_element(index)
  sub_el.nil? ? nil : sub_el.value
end
sub_element(index) click to toggle source
# File lib/rex12/element_with_subelements.rb, line 27
def sub_element index
  @sub_elements[index]
end
sub_elements() { |se| ... } click to toggle source

Get all sub elements as an array or yield them to a block @return [Array<SubElement>, nil]

# File lib/rex12/element_with_subelements.rb, line 18
def sub_elements
  if block_given?
    @sub_elements.each {|se| yield se }
    return nil
  end

  return @sub_elements.to_enum { @sub_elements.length }
end
sub_elements?() click to toggle source

@return [true, false] does the element have sub elements

# File lib/rex12/element_with_subelements.rb, line 12
def sub_elements?
  true
end
to_s() click to toggle source
# File lib/rex12/element_with_subelements.rb, line 31
def to_s
  @sub_elements.map(&:to_s).join(@sub_element_separator)
end