Class: Terminal::Table::Style

Inherits:
Object
  • Object
show all
Defined in:
lib/terminal-table/style.rb

Overview

A Style object holds all the formatting information for a Table object

To create a table with a certain style, use either the constructor option :style, the Table#style object or the Table#style= method

All these examples have the same effect:

# by constructor
@table = Table.new(:style => {:padding_left => 2, :width => 40})

# by object
@table.style.padding_left = 2
@table.style.width = 40

# by method
@table.style = {:padding_left => 2, :width => 40}

To set a default style for all tables created afterwards use Style.defaults=

Terminal::Table::Style.defaults = {:width => 80}

Constant Summary collapse

@@defaults =
{
  :border_x => "-", :border_y => "|", :border_i => "+",
  :padding_left => 1, :padding_right => 1,
  :margin_left => '',
  :width => nil, :alignment => nil,
  :all_separators => false
}

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Style

Returns a new instance of Style



48
49
50
# File 'lib/terminal-table/style.rb', line 48

def initialize options = {}
  apply self.class.defaults.merge(options)
end

Instance Attribute Details

#alignmentObject

Returns the value of attribute alignment



43
44
45
# File 'lib/terminal-table/style.rb', line 43

def alignment
  @alignment
end

#all_separatorsObject

Returns the value of attribute all_separators



45
46
47
# File 'lib/terminal-table/style.rb', line 45

def all_separators
  @all_separators
end

#border_iObject

Returns the value of attribute border_i



35
36
37
# File 'lib/terminal-table/style.rb', line 35

def border_i
  @border_i
end

#border_xObject

Returns the value of attribute border_x



33
34
35
# File 'lib/terminal-table/style.rb', line 33

def border_x
  @border_x
end

#border_yObject

Returns the value of attribute border_y



34
35
36
# File 'lib/terminal-table/style.rb', line 34

def border_y
  @border_y
end

#margin_leftObject

Returns the value of attribute margin_left



40
41
42
# File 'lib/terminal-table/style.rb', line 40

def margin_left
  @margin_left
end

#padding_leftObject

Returns the value of attribute padding_left



37
38
39
# File 'lib/terminal-table/style.rb', line 37

def padding_left
  @padding_left
end

#padding_rightObject

Returns the value of attribute padding_right



38
39
40
# File 'lib/terminal-table/style.rb', line 38

def padding_right
  @padding_right
end

#widthObject

Returns the value of attribute width



42
43
44
# File 'lib/terminal-table/style.rb', line 42

def width
  @width
end

Class Method Details

.defaultsObject



57
58
59
# File 'lib/terminal-table/style.rb', line 57

def defaults
  @@defaults
end

.defaults=(options) ⇒ Object



61
62
63
# File 'lib/terminal-table/style.rb', line 61

def defaults= options
  @@defaults = defaults.merge(options)
end

Instance Method Details

#apply(options) ⇒ Object



52
53
54
# File 'lib/terminal-table/style.rb', line 52

def apply options
  options.each { |m, v| __send__ "#{m}=", v }
end