class RubyXL::SharedStringsTable
Constants
- CONTENT_TYPE
- REL_TYPE
Public Class Methods
Source
# File lib/rubyXL/objects/shared_strings.rb, line 19 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 transparently change it later if needs be. @index_by_content = {} end
Calls superclass method
RubyXL::OOXMLObjectInstanceMethods::new
Public Instance Methods
Source
# File lib/rubyXL/objects/shared_strings.rb, line 33 def [](index) strings[index] end
Source
# File lib/rubyXL/objects/shared_strings.rb, line 41 def add(v, index = nil) index ||= strings.size strings[index] = case v when RubyXL::RichText then v when String then RubyXL::RichText.new(:t => RubyXL::Text.new(:value => v)) when RubyXL::Text then RubyXL::RichText.new(:t => v) when RubyXL::RichTextRun then RubyXL::RichText.new(:r => [ v ]) when RubyXL::PhoneticRun then RubyXL::RichText.new(:r_ph => [ v ]) when RubyXL::PhoneticProperties then RubyXL::RichText.new(:phonetic_pr => v) end @index_by_content[v.to_s] = index end
Source
# File lib/rubyXL/objects/shared_strings.rb, line 27 def before_write_xml super self.unique_count = self.count self.count > 0 end
Calls superclass method
RubyXL::OOXMLObjectInstanceMethods#before_write_xml
Source
# File lib/rubyXL/objects/shared_strings.rb, line 57 def get_index(str, add_if_missing = false) index = @index_by_content[str] index = add(str) if index.nil? && add_if_missing index end
Source
# File lib/rubyXL/objects/shared_strings.rb, line 63 def xlsx_path ROOT.join('xl', 'sharedStrings.xml') end