lib/axlsx/drawing/series.rb in axlsx-1.0.4 vs lib/axlsx/drawing/series.rb in axlsx-1.0.5

- old
+ new

@@ -16,11 +16,11 @@ # The order of this series in the chart's series. # @return [Integer] attr_accessor :order # The title of the series - # @return [String] + # @return [SeriesTitle] attr_accessor :title # Creates a new series # @param [Chart] chart # @option options [Integer] order @@ -42,12 +42,16 @@ def order @order || index end - def title=(v) Axlsx::validate_string(v); @title = v; end - + def title=(v) + v = SeriesTitle.new(v) if v.is_a?(String) || v.is_a?(Cell) + DataTypeValidator.validate "#{self.class}.title", SeriesTitle, v + @title = v + end + private # assigns the chart for this series def chart=(v) DataTypeValidator.validate "Series.chart", Chart, v; @chart = v; end @@ -55,13 +59,11 @@ # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to. # @return [String] def to_xml(xml) xml.send('c:ser') { xml.send('c:idx', :val=>index) - xml.send('c:order', :val=>order || index) - xml.send('c:tx') { - xml.send('c:v', self.title) - } + xml.send('c:order', :val=>order || index) + title.to_xml(xml) unless title.nil? yield xml if block_given? } end end