lib/axlsx/stylesheet/cell_alignment.rb in axlsx-1.3.1 vs lib/axlsx/stylesheet/cell_alignment.rb in axlsx-1.3.2
- old
+ new
@@ -1,11 +1,35 @@
# encoding: UTF-8
module Axlsx
+
+
# CellAlignment stores information about the cell alignment of a style Xf Object.
# @note Using Styles#add_style is the recommended way to manage cell alignment.
# @see Styles#add_style
class CellAlignment
+
+
+ include Axlsx::SerializedAttributes
+ include Axlsx::OptionsParser
+
+ serializable_attributes :horizontal, :vertical, :text_rotation, :wrap_text, :indent, :relative_indent, :justify_last_line, :shrink_to_fit, :reading_order
+ # Create a new cell_alignment object
+ # @option options [Symbol] horizontal
+ # @option options [Symbol] vertical
+ # @option options [Integer] text_rotation
+ # @option options [Boolean] wrap_text
+ # @option options [Integer] indent
+ # @option options [Integer] relative_indent
+ # @option options [Boolean] justify_last_line
+ # @option options [Boolean] shrink_to_fit
+ # @option options [Integer] reading_order
+ def initialize(options={})
+ parse_options options
+ end
+
+
+
# The horizontal alignment of the cell.
# @note
# The horizontal cell alignement style must be one of
# :general
# :left
@@ -29,79 +53,81 @@
# @return [Symbol]
attr_reader :vertical
# The textRotation of the cell.
# @return [Integer]
- attr_reader :textRotation
+ attr_reader :text_rotation
+ alias :textRotation :text_rotation
# Indicate if the text of the cell should wrap
# @return [Boolean]
- attr_reader :wrapText
+ attr_reader :wrap_text
+ alias :wrapText :wrap_text
# The amount of indent
# @return [Integer]
attr_reader :indent
# The amount of relativeIndent
# @return [Integer]
- attr_reader :relativeIndent
+ attr_reader :relative_indent
+ alias :relativeIndent :relative_indent
# Indicate if the last line should be justified.
# @return [Boolean]
- attr_reader :justifyLastLine
+ attr_reader :justify_last_line
+ alias :justifyLastLine :justify_last_line
# Indicate if the text should be shrunk to the fit in the cell.
# @return [Boolean]
- attr_reader :shrinkToFit
+ attr_reader :shrink_to_fit
+ alias :shrinkToFit :shrink_to_fit
# The reading order of the text
# 0 Context Dependent
# 1 Left-to-Right
# 2 Right-to-Left
# @return [Integer]
- attr_reader :readingOrder
+ attr_reader :reading_order
+ alias :readingOrder :reading_order
- # Create a new cell_alignment object
- # @option options [Symbol] horizontal
- # @option options [Symbol] vertical
- # @option options [Integer] textRotation
- # @option options [Boolean] wrapText
- # @option options [Integer] indent
- # @option options [Integer] relativeIndent
- # @option options [Boolean] justifyLastLine
- # @option options [Boolean] shrinkToFit
- # @option options [Integer] readingOrder
- def initialize(options={})
- options.each do |o|
- self.send("#{o[0]}=", o[1]) if self.respond_to? "#{o[0]}="
- end
- end
-
# @see horizontal
def horizontal=(v) Axlsx::validate_horizontal_alignment v; @horizontal = v end
# @see vertical
def vertical=(v) Axlsx::validate_vertical_alignment v; @vertical = v end
# @see textRotation
- def textRotation=(v) Axlsx::validate_unsigned_int v; @textRotation = v end
+ def text_rotation=(v) Axlsx::validate_unsigned_int v; @text_rotation = v end
+ alias :textRotation= :text_rotation=
+
# @see wrapText
- def wrapText=(v) Axlsx::validate_boolean v; @wrapText = v end
+ def wrap_text=(v) Axlsx::validate_boolean v; @wrap_text = v end
+ alias :wrapText= :wrap_text=
+
# @see indent
def indent=(v) Axlsx::validate_unsigned_int v; @indent = v end
+
# @see relativeIndent
- def relativeIndent=(v) Axlsx::validate_int v; @relativeIndent = v end
+ def relative_indent=(v) Axlsx::validate_int v; @relative_indent = v end
+ alias :relativeIndent= :relative_indent=
+
# @see justifyLastLine
- def justifyLastLine=(v) Axlsx::validate_boolean v; @justifyLastLine = v end
+ def justify_last_line=(v) Axlsx::validate_boolean v; @justify_last_line = v end
+ alias :justifyLastLine= :justify_last_line=
+
# @see shrinkToFit
- def shrinkToFit=(v) Axlsx::validate_boolean v; @shrinkToFit = v end
+ def shrink_to_fit=(v) Axlsx::validate_boolean v; @shrink_to_fit = v end
+ alias :shrinkToFit= :shrink_to_fit=
+
# @see readingOrder
- def readingOrder=(v) Axlsx::validate_unsigned_int v; @readingOrder = v end
+ def reading_order=(v) Axlsx::validate_unsigned_int v; @reading_order = v end
+ alias :readingOrder= :reading_order=
# Serializes the object
# @param [String] str
# @return [String]
def to_xml_string(str = '')
str << '<alignment '
- str << instance_values.map { |key, value| '' << key.to_s << '="' << value.to_s << '"' }.join(' ')
+ serialized_attributes str
str << '/>'
end
end
end