Method: RubyXL::SharedStringsTable#add

Defined in:
lib/rubyXL/objects/shared_strings.rb

#add(v, index = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/rubyXL/objects/shared_strings.rb', line 42

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