Module: UnitConversions

Defined in:
lib/unit_conversions.rb

Class Method Summary collapse

Class Method Details

.closest_rational(number, max_denominator = 1000) ⇒ Object



20
21
22
23
24
25
# File 'lib/unit_conversions.rb', line 20

def self.closest_rational(number, max_denominator = 1000)
  return unless number.present?

  # Convert the number to a rational approximation with a limited denominator
  Rational(number).rationalize(Rational(1, max_denominator))
end

.inches_to_feetinches(inches, separator: ' ') ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/unit_conversions.rb', line 2

def self.inches_to_feetinches(inches, separator: ' ')
  return nil if inches.nil?

  inches = inches.to_f
  s = []
  ft = (inches / 12).truncate
  inches = (inches % 12)
  if ft.positive?
    ft = ActionController::Base.helpers.number_with_precision ft, precision: 0, strip_insignificant_zeros: true
    s << "#{ft}"
  end
  if inches.positive?
    inches = ActionController::Base.helpers.number_with_precision inches, precision: 3, strip_insignificant_zeros: true
    s << "#{inches}"
  end
  r = s.join(separator)
end