Class: Vedeu::Grid

Inherits:
Object
  • Object
show all
Defined in:
lib/vedeu/geometry/grid.rb

Overview

Divides horizontal terminal space into 12 equal columns, discarding the remainder.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ Grid

Parameters:



37
38
39
# File 'lib/vedeu/geometry/grid.rb', line 37

def initialize(value)
  @value = value
end

Instance Attribute Details

#valueObject (readonly, private)

Returns the value of attribute value.



53
54
55
# File 'lib/vedeu/geometry/grid.rb', line 53

def value
  @value
end

Class Method Details

.columns(value) ⇒ Fixnum

Parameters:

Returns:



31
32
33
# File 'lib/vedeu/geometry/grid.rb', line 31

def self.columns(value)
  new(value).columns
end

Instance Method Details

#actualFixnum (private)

Returns:



63
64
65
# File 'lib/vedeu/geometry/grid.rb', line 63

def actual
  Terminal.width
end

#columnFixnum (private)

Returns the width of a single column in characters.

Returns:



58
59
60
# File 'lib/vedeu/geometry/grid.rb', line 58

def column
  actual / 12
end

#columnsFixnum|OutOfRange

Returns:

Raises:

  • (OutOfRange)

    When the value parameter is not between 1 and 12 inclusive.



44
45
46
47
48
49
# File 'lib/vedeu/geometry/grid.rb', line 44

def columns
  fail OutOfRange,
    'Valid value between 1 and 12 inclusive.' if out_of_range?

  column * value
end

#out_of_range?Boolean (private)

Returns:

  • (Boolean)


68
69
70
# File 'lib/vedeu/geometry/grid.rb', line 68

def out_of_range?
  value < 1 || value > 12
end