Module: Convertio

Defined in:
lib/convertio.rb,
lib/convertio/version.rb

Overview

Convert value to different units

Defined Under Namespace

Classes: Converter, Error, NoUnitError, TypeMismatchError

Constant Summary collapse

DISTANCE =
:distance
WEIGHT =
:mass
TEMPERATURE =
:temperature
PRESSURE =
:pressure
POWER =
:power
ENERGY =
:energy
ANGLE =
:angle
DATA =
:data
UNITS =

Do conversions based on prefix - map kilo to 1000 automatically etc

{
  mi: {
    name: "miles",
    per_base: 63_360,
    type: DISTANCE
  },
  km: {
    name: "kilometers",
    per_base: 39_370.1,
    type: DISTANCE
  },
  m: {
    name: "meters",
    per_base: 39.3701,
    type: DISTANCE
  },
  ft: {
    name: "feet",
    per_base: 12,
    type: DISTANCE
  },
  in: {
    name: "inches",
    per_base: 1,
    type: DISTANCE
  },
  oz: {
    name: "ounces",
    per_base: 1,
    type: WEIGHT
  },
  kg: {
    name: "kilogram",
    per_base: 35.274,
    type: WEIGHT
  },
  lb: {
    name: "pounds",
    per_base: 16,
    type: WEIGHT
  }
}.freeze
VERSION =
"1.1.0"

Class Method Summary collapse

Class Method Details

.convert(value, from:, to:) ⇒ Object



89
90
91
# File 'lib/convertio.rb', line 89

def self.convert(value, from:, to:)
  Converter.new(value, from, to).convert
end