Sha256: b6244b2b8f29451dbd3b71227887e24ff53f6f9e0c412b8e51ab4196868eb6a6
Contents?: true
Size: 1.67 KB
Versions: 1
Compression:
Stored size: 1.67 KB
Contents
module Axlsx # A numeric data source for use by charts. class NumDataSource include Axlsx::OptionsParser # creates a new NumDataSource object # @option options [Array] data An array of Cells or Numeric objects # @option options [Symbol] tag_name see tag_name def initialize(options={}) # override these three in child classes @data_type ||= NumData @tag_name ||= :val @ref_tag_name ||= :numRef @f = nil @data = @data_type.new(options) if options[:data] && options[:data].first.is_a?(Cell) @f = Axlsx::cell_range(options[:data]) end parse_options options end # The tag name to use when serializing this data source. # Only items defined in allowed_tag_names are allowed # @return [Symbol] attr_reader :tag_name attr_reader :data # allowed element tag names # @return [Array] def self.allowed_tag_names [:yVal, :val, :bubbleSize] end # sets the tag name for this data source # @param [Symbol] v One of the allowed_tag_names def tag_name=(v) Axlsx::RestrictionValidator.validate "#{self.class.name}.tag_name", self.class.allowed_tag_names, v @tag_name = v end # serialize the object # @param [String] str def to_xml_string(str="") str << ('<c:' << tag_name.to_s << '>') if @f str << ('<c:' << @ref_tag_name.to_s << '>') str << ('<c:f>' << @f.to_s << '</c:f>') end @data.to_xml_string str if @f str << ('</c:' << @ref_tag_name.to_s << '>') end str << ('</c:' << tag_name.to_s << '>') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
caxlsx-3.2.0 | lib/axlsx/drawing/num_data_source.rb |