Sha256: 566c706656c92dbe6f7bcb8e924ec6f6b8555f896b4aef7ce77943087b38d816

Contents?: true

Size: 1.9 KB

Versions: 2

Compression:

Stored size: 1.9 KB

Contents

# encoding: UTF-8
module Axlsx
  # A border part. 
  class BorderPr
    
    # @return [Color] The color of this border part.
    attr_reader :color

    # @return [Symbol] The syle of this border part. 
    # @note 
    #  The following are allowed
    #   :none 
    #   :thin
    #   :medium
    #   :dashed
    #   :dotted
    #   :thick
    #   :double
    #   :hair 
    #   :mediumDashed
    #   :dashDot
    #   :mediumDashDot
    #   :dashDotDot
    #   :mediumDashDotDot
    #   :slantDashDot
    attr_reader :style

    # @return [Symbol] The name of this border part
    # @note 
    #  The following are allowed
    #   :start
    #   :end
    #   :left
    #   :right
    #   :top
    #   :bottom
    #   :diagonal
    #   :vertical
    #   :horizontal
    attr_reader :name
    
    # Creates a new Border Part Object
    # @option options [Color] color
    # @option options [Symbol] name
    # @option options [Symbol] style
    # @see Axlsx::Border
    def initialize(options={})
      options.each do |o|
        self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
      end
    end

    # @see name
    def name=(v) RestrictionValidator.validate "BorderPr.name", [:start, :end, :left, :right, :top, :bottom, :diagonal, :vertical, :horizontal], v; @name = v end
    # @see color
    def color=(v) DataTypeValidator.validate(:color, Color, v); @color = v end    
    # @see style
    def style=(v) RestrictionValidator.validate "BorderPr.style", [:none, :thin, :medium, :dashed, :dotted, :thick, :double, :hair, :mediumDashed, :dashDot, :mediumDashDot, :dashDotDot, :mediumDashDotDot, :slantDashDot], v; @style = v end

    # Serializes the border part
    # @param [Nokogiri::XML::Builder] xml The document builder instance this objects xml will be added to.
    # @return [String]
    def to_xml(xml)
      xml.send(@name, :style => @style) {
        @color.to_xml(xml) if @color.is_a? Color
      } 
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
axlsx-1.0.18 lib/axlsx/stylesheet/border_pr.rb
axlsx-1.0.17 lib/axlsx/stylesheet/border_pr.rb