class OpenXml::Docx::Properties::Tab

Constants

VALID_LEADERS
VALID_TYPES

Attributes

leader[R]
position[R]
type[R]

Public Class Methods

new(position, type, leader=nil) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 10
def initialize(position, type, leader=nil)
  self.position = position
  self.type = type
  self.leader = leader
end

Public Instance Methods

leader=(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 26
def leader=(value)
  raise ArgumentError, invalid_leader_message unless valid_leader?(value)
  @leader = value
end
position=(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 16
def position=(value)
  raise ArgumentError, invalid_position_message unless valid_position?(value)
  @position = value
end
to_xml(xml) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 31
def to_xml(xml)
  xml["w"].public_send(tag, xml_attributes)
end
type=(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 21
def type=(value)
  raise ArgumentError, invalid_type_message unless valid_type?(value)
  @type = value
end

Private Instance Methods

invalid_leader_message() click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 60
def invalid_leader_message
  "Invalid leader: must be one of: #{VALID_LEADERS.join(", ")}"
end
invalid_position_message() click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 44
def invalid_position_message
  "Invalid position: must be an integer"
end
invalid_type_message() click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 52
def invalid_type_message
  "Invalid type: must be one of: #{VALID_TYPES.join(", ")}"
end
valid_leader?(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 64
def valid_leader?(value)
  VALID_LEADERS.member? value
end
valid_position?(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 48
def valid_position?(value)
  value.is_a?(Integer)
end
valid_type?(value) click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 56
def valid_type?(value)
  VALID_TYPES.member? value
end
xml_attributes() click to toggle source
# File lib/openxml/docx/properties/tab.rb, line 37
def xml_attributes
  attrs = { "w:pos" => position,
            "w:val" => type}
  attrs["w:leader"] = leader if leader
  attrs
end