class RubyXL::SharedStringsTable

www.schemacentral.com/sc/ooxml/e-ssml_sst.html

Constants

CONTENT_TYPE
REL_TYPE

Public Class Methods

new(*params) click to toggle source
Calls superclass method
# File lib/rubyXL/objects/shared_strings.rb, line 20
def initialize(*params)
  super
  # So far, going by the structure that the original creator had in mind. However,
  # since the actual implementation is now extracted into a separate class,
  # we will be able to transparrently change it later if needs be.
  @index_by_content = {}
end

Public Instance Methods

[](index) click to toggle source
# File lib/rubyXL/objects/shared_strings.rb, line 34
def [](index)
  strings[index]
end
add(str, index = nil) click to toggle source
# File lib/rubyXL/objects/shared_strings.rb, line 42
def add(str, index = nil)
  index ||= strings.size
  strings[index] = RubyXL::Text.new(:value => str)
  @index_by_content[str] = index
end
before_write_xml() click to toggle source
Calls superclass method
# File lib/rubyXL/objects/shared_strings.rb, line 28
def before_write_xml
  super
  self.unique_count = self.count
  self.count > 0
end
empty?() click to toggle source
# File lib/rubyXL/objects/shared_strings.rb, line 38
def empty?
  strings.empty?
end
get_index(str, add_if_missing = false) click to toggle source
# File lib/rubyXL/objects/shared_strings.rb, line 48
def get_index(str, add_if_missing = false)
  index = @index_by_content[str]
  index = add(str) if index.nil? && add_if_missing
  index
end
xlsx_path() click to toggle source
# File lib/rubyXL/objects/shared_strings.rb, line 54
def xlsx_path
  ROOT.join('xl', 'sharedStrings.xml')
end