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