class BerkeleyLibrary::Util::ODS::XML::Table::Repeatable

Attributes

attr_name_num_repeated[R]
number_repeated[R]
table[R]

Public Class Methods

new(name, attr_name_num_repeated, number_repeated, table:) click to toggle source
# File lib/berkeley_library/util/ods/xml/table/repeatable.rb, line 10
def initialize(name, attr_name_num_repeated, number_repeated, table:)
  super(:table, name, doc: table.doc)
  @table = table
  @attr_name_num_repeated = attr_name_num_repeated
  self.number_repeated = number_repeated
end

Public Instance Methods

increment_repeats!() click to toggle source
# File lib/berkeley_library/util/ods/xml/table/repeatable.rb, line 29
def increment_repeats!
  self.number_repeated += 1
end
number_repeated=(value) click to toggle source
# File lib/berkeley_library/util/ods/xml/table/repeatable.rb, line 17
def number_repeated=(value)
  raise ArgumentError, "Invalid number of repeats: #{value.inspect} => #{value.to_i}" if (repeats = value.to_i) <= 0

  if repeats == 1
    clear_attribute(attr_name_num_repeated)
  else
    set_attribute(attr_name_num_repeated, repeats)
  end

  @number_repeated = repeats
end