Module: UnitConversions
- Defined in:
- lib/unit_conversions.rb
Class Method Summary collapse
- .closest_rational(number, max_denominator = 1000) ⇒ Object
- .inches_to_feetinches(inches, separator: ' ') ⇒ Object
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 |