class TTY::Box::Border
A class reponsible for retrieving border options
@api private
Constants
- BORDER_VALUES
Attributes
bottom[R]
bottom?[R]
bottom_left[R]
bottom_left?[R]
bottom_right[R]
bottom_right?[R]
left[R]
left?[R]
right[R]
right?[R]
top[R]
top?[R]
top_left[R]
top_left?[R]
top_right[R]
top_right?[R]
type[R]
Public Class Methods
new(type: :light, top: :line, top_left: :corner_top_left, top_right: :corner_top_right, left: :pipe, right: :pipe, bottom: :line, bottom_left: :corner_bottom_left, bottom_right: :corner_bottom_right)
click to toggle source
# File lib/tty/box/border.rb, line 47 def initialize(type: :light, top: :line, top_left: :corner_top_left, top_right: :corner_top_right, left: :pipe, right: :pipe, bottom: :line, bottom_left: :corner_bottom_left, bottom_right: :corner_bottom_right) @type = type @top = check_name(:top, top) @top_left = check_name(:top_left, top_left) @top_right = check_name(:top_right, top_right) @left = check_name(:left, left) @right = check_name(:right, right) @bottom = check_name(:bottom, bottom) @bottom_left = check_name(:bottom_left, bottom_left) @bottom_right = check_name(:bottom_right, bottom_right) end
parse(border)
click to toggle source
# File lib/tty/box/border.rb, line 23 def self.parse(border) case border when Hash new(**border) when *TTY::Box::BOX_CHARS.keys new(type: border) else raise ArgumentError, "Wrong value `#{border}` for :border configuration option" end end
Private Instance Methods
check_name(key, value)
click to toggle source
Check if border values name is allowed
@raise [ArgumentError]
@api private
# File lib/tty/box/border.rb, line 75 def check_name(key, value) unless BORDER_VALUES.include?(:"#{value}") || [true, false].include?(value) raise ArgumentError, "invalid #{key.inspect} border value: " \ "#{value.inspect}" end value end