summaryrefslogtreecommitdiffhomepage
path: root/lib/axlsx/drawing/str_val.rb
blob: d09e6ce8f8086354570c1730be8440e5e16cdeb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# frozen_string_literal: true

module Axlsx
  # This class specifies data for a particular data point.
  class StrVal
    include Axlsx::OptionsParser

    # creates a new StrVal object
    # @option options [String] v
    def initialize(options = {})
      @v = ""
      @idx = 0
      parse_options options
    end

    # a string value.
    # @return [String]
    attr_reader :v

    # @see v
    def v=(v)
      @v = v.to_s
    end

    # serialize the object
    def to_xml_string(idx, str = +'')
      Axlsx::validate_unsigned_int(idx)
      if !v.to_s.empty?
        str << '<c:pt idx="' << idx.to_s << '"><c:v>' << ::CGI.escapeHTML(v.to_s) << '</c:v></c:pt>'
      end
    end
  end
end