class Interscript::Node::Item::Repeat

Attributes

data[RW]

Public Class Methods

new(data) click to toggle source
# File lib/interscript/node/item/repeat.rb, line 3
def initialize data
  data = Interscript::Node::Item.try_convert(data)
  @data = data
end

Public Instance Methods

==(other) click to toggle source
Calls superclass method Interscript::Node::Item#==
# File lib/interscript/node/item/repeat.rb, line 25
def ==(other)
  super && self.data == other.data
end
first_string() click to toggle source
# File lib/interscript/node/item/repeat.rb, line 8
def first_string
  data.first_string
end
inspect() click to toggle source
# File lib/interscript/node/item/repeat.rb, line 29
def inspect
  str = case self
  when Interscript::Node::Item::Maybe
    "maybe"
  when Interscript::Node::Item::MaybeSome
    "maybe_some"
  when Interscript::Node::Item::Some
    "some"
  end
  "#{str}(#{@data.inspect})"
end
max_length() click to toggle source
# File lib/interscript/node/item/repeat.rb, line 16
def max_length
  data.max_length
end
nth_string() click to toggle source
# File lib/interscript/node/item/repeat.rb, line 12
def nth_string
  data.nth_string
end
to_hash() click to toggle source
# File lib/interscript/node/item/repeat.rb, line 20
def to_hash
  { :class => self.class.to_s,
    :data => self.data.to_hash }
end
to_html(doc) click to toggle source
# File lib/interscript/visualize/nodes.rb, line 64
def to_html(doc)
  str = case self
  when Interscript::Node::Item::Maybe
    "zero or one "
  when Interscript::Node::Item::MaybeSome
    "zero or more of "
  when Interscript::Node::Item::Some
    "one or more of "
  end
  "<nobr>#{str}(</nobr>#{@data.to_html(doc)})"
end