summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/drawing/cat_axis_data.rb
diff options
context:
space:
mode:
authorRandy Morgan <[email protected]>2012-04-01 00:35:26 +0900
committerRandy Morgan <[email protected]>2012-04-01 00:35:26 +0900
commit22a341841f191a5aa00e87b1f166b4f25cc67f0a (patch)
tree505f46708d5cac7d33d0dd6679c125e2eb819075 /lib/axlsx/drawing/cat_axis_data.rb
parentbb2117ba17297e02a0fc6d5ad5a22462e72a9a79 (diff)
downloadcaxlsx-22a341841f191a5aa00e87b1f166b4f25cc67f0a.tar.gz
caxlsx-22a341841f191a5aa00e87b1f166b4f25cc67f0a.zip
part way through changing all serialization to use string concatenation prior to dropping Nokogiri dep in production.
Diffstat (limited to 'lib/axlsx/drawing/cat_axis_data.rb')
-rw-r--r--lib/axlsx/drawing/cat_axis_data.rb20
1 files changed, 18 insertions, 2 deletions
diff --git a/lib/axlsx/drawing/cat_axis_data.rb b/lib/axlsx/drawing/cat_axis_data.rb
index b9b57d01..a119282e 100644
--- a/lib/axlsx/drawing/cat_axis_data.rb
+++ b/lib/axlsx/drawing/cat_axis_data.rb
@@ -11,6 +11,22 @@ module Axlsx
data.each { |i| @list << i } if data.is_a?(SimpleTypedList)
end
+
+ def to_xml_string(str = '')
+ str << '<cat>'
+ str << '<strRef>'
+ str << '<f>' << Axlsx::cell_range(@list) << '</f>'
+ str << '<strCache>'
+ str << '<ptCount val="' << size.to_s << '"/>'
+ each_with_index do |item, index|
+ v = item.is_a?(Cell) ? item.value.to_s : item
+ str << '<pt idx="' << index.to_s << '"><v>' << v << '</v></pt>'
+ end
+ str << '</strCache>'
+ str << '</strRef>'
+ str << '</cat>'
+ end
+
# Serializes the category axis data
# @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
# @return [String]
@@ -24,7 +40,7 @@ module Axlsx
v = item.is_a?(Cell) ? item.value : item
xml.pt(:idx=>index) {
xml.v v
- }
+ }
end
}
}
@@ -32,5 +48,5 @@ module Axlsx
end
end
-
+
end