class Dieses::Support::Ruler
Attributes
multiple[R]
unit[R]
Public Class Methods
call(unit, multiple = 1)
click to toggle source
# File lib/dieses/support/ruler.rb, line 6 def self.call(unit, multiple = 1) new unit, (multiple || 1) end
divide(unit:, multiple:, length:)
click to toggle source
# File lib/dieses/support/ruler.rb, line 10 def self.divide(unit:, multiple:, length:) ruler = new(unit, multiple) [ruler.division(length), ruler.even(length)] end
new(unit, multiple = 1)
click to toggle source
# File lib/dieses/support/ruler.rb, line 17 def initialize(unit, multiple = 1) @unit = unit.to_f @multiple = multiple.to_f end
Public Instance Methods
division(length)
click to toggle source
# File lib/dieses/support/ruler.rb, line 30 def division(length) (length / major).to_i.to_f end
even(length)
click to toggle source
# File lib/dieses/support/ruler.rb, line 26 def even(length) major * division(length) end
major()
click to toggle source
# File lib/dieses/support/ruler.rb, line 22 def major @major ||= multiple * unit end
measure(n)
click to toggle source
# File lib/dieses/support/ruler.rb, line 34 def measure(n) n * unit end