Module: UnitMeasurements
- Defined in:
- lib/unit_measurements.rb,
lib/unit_measurements/base.rb,
lib/unit_measurements/math.rb,
lib/unit_measurements/unit.rb,
lib/unit_measurements/parser.rb,
lib/unit_measurements/version.rb,
lib/unit_measurements/formatter.rb,
lib/unit_measurements/arithmetic.rb,
lib/unit_measurements/comparison.rb,
lib/unit_measurements/conversion.rb,
lib/unit_measurements/normalizer.rb,
lib/unit_measurements/unit_group.rb,
lib/unit_measurements/measurement.rb,
lib/unit_measurements/errors/unit_error.rb,
lib/unit_measurements/errors/parse_error.rb,
lib/unit_measurements/unit_group_builder.rb,
lib/unit_measurements/errors/unit_already_defined_error.rb,
lib/unit_measurements/errors/primitive_unit_already_set_error.rb
Overview
-*- warn_indent: true -*-
Defined Under Namespace
Modules: Arithmetic, Comparison, Conversion, Formatter, Math Classes: BaseError, Measurement, Normalizer, ParseError, Parser, PrimitiveUnitAlreadySetError, Unit, UnitAlreadyDefinedError, UnitError, UnitGroup, UnitGroupBuilder
Constant Summary collapse
- VERSION =
Current stable version.
"5.1.0"
- Area =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m²" system :metric do unit "a", value: "100 m²", aliases: ["are", "ares"] unit "b", value: "1e-28 m²", aliases: ["barn", "barns"] unit "m²", aliases: ["m^2", "sq m", "square meter", "square meters", "square metre", "square metres"] unit "ha", value: "10000 m²", aliases: ["hectare", "hectares"] unit "km²", value: "1e+6 m²", aliases: ["km^2", "sq km", "square kilometer", "square kilometers", "square kilometre", "square kilometres"] end system :imperial do unit "ac", value: "4046.8564224 m²", aliases: ["acre", "acres"] unit "in²", value: "0.00064516 m²", aliases: ["in^2", "sq in", "square inch", "square inches"] unit "ft²", value: "144 in²", aliases: ["ft^2", "sq ft", "square foot", "square feet"] unit "yd²", value: "9 ft²", aliases: ["yd^2", "sq yd", "square yard", "square yards"] unit "mi²", value: "3097600 yd²", aliases: ["mi^2", "sq mi", "square mile", "square miles"] unit "ch²", value: "484 yd²", aliases: ["ch^2", "sq ch", "square chain", "square chains"] unit "fur²", value: "48400 yd²", aliases: ["fur^2", "sq fur", "square furlong", "square furlongs"] unit "rod²", value: "272 1/4 ft²", aliases: ["rod^2", "sq rod", "square rod", "square rods"] end end
- Time =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "s" system :metric do si_unit "s", aliases: ["sec", "second", "seconds"] unit "min", value: "60 s", aliases: ["minute", "minutes"] end unit "h", value: "60 min", aliases: ["hr", "hour", "hours"] unit "d", value: "24 h", aliases: ["day", "days"] unit "wk", value: "7 d", aliases: ["week", "weeks"] unit "mo", value: "30.4167 d", aliases: ["month", "months"] unit "yr", value: "365 d", aliases: ["y", "year", "years"] unit "ftn", value: "2 wk", aliases: ["4tnite", "fortnight", "fortnights"] unit "qtr", value: "3 mo", aliases: ["quarter", "quarters"] unit "dec", value: "10 y", aliases: ["decade", "decades"] unit "cent", value: "10 dec", aliases: ["century", "centuries"] end
- Force =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "N" system :metric do si_unit "N", aliases: ["newton", "newtons"] unit "kgf", value: "9.80665 N", aliases: ["kilogram-force", "kilogramme-force"] end system :centimetre_gram_second do unit "dyn", value: "1e-5 N", aliases: ["dyne", "dynes"] end system :metre_tonne_second do unit "tf", value: "8896.443230521 N", aliases: ["tonne-force"] end system :english_engineering do unit "lbf", value: "4.4482216152605 N", aliases: ["pound-force"] end system :foot_pound_second do unit "pdl", value: "0.138254954376 N", aliases: ["poundal", "poundals"] unit "ozf", value: "0.27801385095378125 N", aliases: ["ounce-force"] end end
- Power =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "W" system :metric do si_unit "W", aliases: ["watt", "watts"] unit "hp (M)", value: "735.49875 W", aliases: ["PS", "metric horsepower"] end system :imperial do unit "hp", value: "745.69987158227022 W", aliases: ["hp (I)", "horsepower"] end system :centimetre_gram_second do unit "erg/s", value: "1e-7 W", aliases: ["erg·s⁻¹", "erg per second", "ergs per second"] end unit "cal/s", value: "4.1868 W", aliases: ["cal·s⁻¹", "calorie per second", "calories per second"] end
- Energy =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "J" system :metric do si_unit "J", aliases: ["joule", "joules"] si_unit "cal", value: "4.1868 J", aliases: ["calorie", "calories"] unit "eV", value: "1.602176634e-19 J", aliases: ["electronvolt", "electron volt", "electron-volt"] end system :centimetre_gram_second do unit "erg", value: "1e-7 J", aliases: ["ergs"] end system :us_customary do si_unit "Btu", value: "1055.05585262 J", aliases: ["btu", "btus", "british thermal unit", "british thermal units"] unit "thm", value: "100 kBtu", aliases: ["therm", "therms"] unit "quad", value: "1.05505585262e+18 J", aliases: ["quads"] end unit "foe", value: "1e+51 erg", aliases: ["bethe"] end
- Length =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m" system :metric do si_unit "m", aliases: ["meter", "metre", "meters", "metres"] end system :imperial do unit "in", value: "25.4 mm", aliases: ['"', "inch", "inches"] unit "ft", value: "12 in", aliases: ["'", "foot", "feet"] unit "yd", value: "3 ft", aliases: ["yard", "yards"] unit "mi", value: "1760 yd", aliases: ["mile", "miles", "statute mile", "international mile"] unit "ch", value: "22 yd", aliases: ["chain", "chains"] unit "th", value: "1/1000 in", aliases: ["thou", "thousandth of an inch"] unit "ftm", value: "6 ft", aliases: ["fathom", "fathoms"] unit "fur", value: "220 yd", aliases: ["furlong", "furlongs"] unit "nmi", value: "1852 m", aliases: ["NMI", "M", "NM", "nautical mile", "nautical miles"] unit "rod", value: "16 1/2 ft", aliases: ["rods", "perch", "pole", "lug"] end system :astronomical do unit "au", value: "149597870700 m", aliases: ["astronomical unit", "astronomical units"] unit "pc", value: [Rational(648000, Math::PI), "au"], aliases: ["parsec", "parsecs"] end end
- Torque =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "N·m" system :metric do si_unit "N·m", aliases: ["N*m", "newton meter", "newton metre"] unit "kgf·m", value: "9.80665 N·m", aliases: ["kgf*m", "Kilogram-force meter", "kilogramme-force metre"] end system :centimetre_gram_second do unit "dyn·cm", value: "1e-7 N·m", aliases: ["dyn*cm", "dyne centimeter", "dyne centimetre"] end system :foot_pound_second do unit "pdl⋅ft", value: "0.0421401100938048 N·m", aliases: ["pdl*ft", "poundal foot", "foot-poundal"] unit "ozf·in", value: "0.00706155 N·m", aliases: ["oz⋅in", "ozf*in", "oz*in", "ounce-force inch", "ounce-inch"] unit "ozf·ft", value: "12 ozf·in", aliases: ["oz⋅ft", "ozf*ft", "oz*ft", "ounce-force foot", "ounce-foot"] end system :imperial do unit "lbf⋅in", value: "0.1129848290276167 N·m", aliases: ["lb⋅in", "lbf*in", "lb*in", "pound-force inch", "pound-inch"] end system :english_engineering do unit "lbf⋅ft", value: "12 lbf⋅in", aliases: ["lb⋅ft", "lbf*ft", "lb*ft", "pound-force foot", "pound-foot"] end end
- Volume =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m³" system :metric do si_unit "l", aliases: ["liter", "litre", "liters", "litres"] unit "m³", value: "1000 l", aliases: ["m^3", "cu m", "cubic meter", "cubic meters", "cubic metre", "cubic metres"] unit "mm³", value: "1e-9 m³", aliases: ["mm^3", "cu mm", "cubic millimeter", "cubic millimeters", "cubic millimetre", "cubic millimetres"] unit "cm³", value: "1e-6 m³", aliases: ["cm^3", "cu cm", "cubic centimeter", "cubic centimeters", "cubic centimetre", "cubic centimetres"] unit "dm³", value: "1 l", aliases: ["dm^3", "cu dm", "cubic decimeter", "cubic decimeters", "cubic decimetre", "cubic decimetres"] unit "km³", value: "1e+9 m³", aliases: ["km^3", "cu km", "cubic kilometer", "cubic kilometers", "cubic kilometre", "cubic kilometres"] end system :imperial do unit "in³", value: "16.387064 ml", aliases: ["in^3", "cu in", "cubic inch", "cubic inches"] unit "ft³", value: "1728 in³", aliases: ["ft^3", "cu ft", "cubic foot", "cubic feet"] unit "yd³", value: "27 ft³", aliases: ["yd^3", "cu yd", "cubic yard", "cubic yards"] unit "mi³", value: "5451776000 yd³", aliases: ["mi^3", "cu mi", "cubic mile", "cubic miles"] unit "c", value: "284.130625e-6 m³", aliases: ["cup", "cups"] unit "qt", value: "0.0011365225 m³", aliases: ["quart", "quarts"] unit "gi", value: "1/2 c", aliases: ["gill", "gills"] unit "pt", value: "1/8 gal", aliases: ["pint", "pints"] unit "gal", value: "4.54609 dm³", aliases: ["gallon", "gallons"] unit "bbl", value: "36 gal", aliases: ["barrel", "barrels"] unit "tsp", value: "1/24 gi", aliases: ["teaspoon", "teaspoons"] unit "tbsp", value: "3 tsp", aliases: ["tbs", "tablespoon", "tablespoons"] unit "floz", value: "1/160 gal", aliases: ["fluid ounce", "fluid ounces"] end end
- Weight =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "kg" system :metric do si_unit "g", aliases: ["gram", "grams", "gramme", "grammes"] unit "q", value: "100 kg", aliases: ["quintal", "quintals"] unit "t", value: "1000 kg", aliases: ["tonne", "tonnes", "metric tonne", "metric tonnes"] unit "ct", value: "200 mg", aliases: ["carat", "carats"] unit "Da", value: "1.660538921e-27 kg", aliases: ["dalton", "daltons"] end system :imperial do unit "lb", value: [Rational(45_359_237, 1e+8), "kg"], aliases: ["lbs", "lbm", "pound-mass", "pound", "pounds", "#"] unit "st", value: "14 lb", aliases: ["stone", "stones"] unit "oz", value: [Rational(1, 16), "lb"], aliases: ["ounce", "ounces"] end system :troy_weight do unit "gr", value: [Rational(1, 7000), "lb"], aliases: ["grain", "grains"] unit "ozt", value: "480 gr", aliases: ["troy ounce", "troy ounces"] unit "dwt", value: [Rational(1, 20), "ozt"], aliases: ["pennyweight", "pennyweights"] end system :avoirdupois do unit "dr", value: [Rational(1, 16), "oz"], aliases: ["dram", "drams"] end system :foot_pound_second do unit "slug", value: "32.1740 lb", aliases: ["slugs"] end end
- Density =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "kg/m³" system :metric do unit "g/m³", aliases: ["g/m^3", "g·m⁻³", "gram per cubic meter", "grams per cubic meter", "gramme per cubic metre", "grammes per cubic metre"] unit "kg/m³", value: "1000 g/m³", aliases: ["kg/m^3", "kg·m⁻³", "kilogram per cubic meter", "kilograms per cubic meter", "kilogramme per cubic metre", "kilogrammes per cubic metre"] unit "g/l", value: "1 kg/m³", aliases: ["g·l⁻¹", "gram per liter", "grams per liter", "gramme per litre", "grammes per litre"] unit "g/ml", value: "1000 g/l", aliases: ["g·ml⁻¹", "gram per milliliter", "grams per milliliter", "gramme per millilitre", "grammes per millilitre"] unit "kg/l", value: "1e+6 g/m³", aliases: ["kg·l⁻¹", "kilogram per liter", "kilograms per liter", "kilogramme per litre", "kilogrammes per litre"] end end
- Pressure =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Pa" system :metric do si_unit "Pa", aliases: ["pascal", "pascals"] unit "bar", value: "100 kPa", aliases: ["bars"] end system :centimetre_gram_second do unit "Ba", value: "0.1 Pa", aliases: ["barye", "baryes"] end system :metre_tonne_second do unit "pz", value: "1 kPa", aliases: ["pièze"] end unit "at", value: "98066.5 Pa", aliases: ["technical atmosphere", "technical atmospheres"] unit "atm", value: "101325 Pa", aliases: ["atmosphere", "atmospheres"] unit "Torr", value: [Rational(1, 760), "atm"], aliases: ["torr"] end
- Quantity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "pc" unit "pc", aliases: ["pcs", "piece", "pieces"] unit "pr", value: "2 pc", aliases: ["pair", "pairs"] unit "dz", value: "6 pr", aliases: ["doz", "dozen", "dozens"] unit "gr", value: "12 doz", aliases: ["gross", "grosses"] unit "gg", value: "12 gr", aliases: ["great gross", "great grosses", "grand gross", "grand grosses", "dozen gross", "dozen grosses"] end
- Velocity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m/s" system :metric do unit "m/s", aliases: ["m·s⁻¹", "meter per second", "meters per second", "metre per second", "metres per second"] unit "m/min", value: "1/60 m/s", aliases: ["m·min⁻¹", "meter per minute", "meters per minute", "metre per minute", "metres per minute"] unit "m/h", value: "1/60 m/min", aliases: ["m·h⁻¹", "meter per hour", "meters per hour", "metre per hour", "metres per hour"] end system :imperial do unit "in/s", value: "0.0254 m/s", aliases: ["in·s⁻¹", "inch per second", "inches per second"] unit "in/min", value: "1/60 in/s", aliases: ["in·min⁻¹", "inch per minute", "inches per minute"] unit "in/h", value: "1/60 in/min", aliases: ["in·h⁻¹", "inch per hour", "inches per hour"] end system :foot_pound_second do unit "ft/s", value: "12 in/s", aliases: ["ft·s⁻¹", "foot per second", "feet per second"] unit "ft/min", value: "1/60 ft/s", aliases: ["ft·min⁻¹", "foot per minute", "feet per minute"] unit "ft/h", value: "1/60 ft/min", aliases: ["ft·h⁻¹", "foot per hour", "feet per hour"] end system :meteorology_aviation_maritime do unit "Kn", value: "0.514773 m/s", aliases: ["kt", "knot", "knots"] end end
- Frequency =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Hz" system :metric do si_unit "Hz", aliases: ["hertz", "hertzes"] unit "rad/s", value: [Rational(1, (2 * Math::PI)), "Hz"], aliases: ["rad·s⁻¹", "radian per second", "radians per second"] end unit "deg/s", value: [Rational(1, 360), "Hz"], aliases: ["°/s", "deg·s⁻¹", "degree per second", "degrees per second"] unit "rev/s", value: [1, "Hz"], aliases: ["rps", "rev·s⁻¹", "revolution per second", "revolutions per second"] end
- Luminance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "cd/m²" system :metric do unit "cd/m²", aliases: ["cd/m^2", "cd·m⁻²", "candela per square metre", "candelas per square metre", "candela per square meter", "candelas per square meter"] end system :us_customary do unit "cd/in²", value: "1550.0031 cd/m²", aliases: ["cd/in^2", "cd·in⁻²", "candela per square inch", "candelas per square inch"] unit "cd/ft²", value: "10.763910417 cd/m²", aliases: ["cd/ft^2", "cd·ft⁻²", "candela per square foot", "candelas per square foot"] unit "fL", value: [Rational(1, Math::PI), "cd/ft²"], aliases: ["ft-L", "foot lambert", "foot-lambert"] end system :centimetre_gram_second do unit "L", value: [Rational(10000, Math::PI), "cd/m²"], aliases: ["lambert", "lamberts"] unit "sb", value: "10000 cd/m²", aliases: ["stlib"] end end
- Illuminance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "lx" system :metric do si_unit "lx", aliases: ["lux", "lm/m²", "lm/m^2", "lm·m⁻²", "lumen per square metre", "lumen per square meter"] end system :centimetre_gram_second do unit "ph", value: "10000 lx", aliases: ["phot", "phots", "lm/cm²", "lm/cm^2", "lm·cm⁻²", "lumen per square centimetre", "lumen per square centimeter"] end system :us_customary do unit "fc", value: "10.763910417 lx", aliases: ["footcandle", "lm/ft²", "lm/ft^2", "lm·ft⁻²", "lumen per square foot"] end unit "nx", value: "1 mlx", aliases: ["nox"] end
- PlaneAngle =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "rad" system :metric do si_unit "rad", aliases: ["radian", "radians"] unit "gon", value: [(Math::PI / 200), "rad"], aliases: ["ᵍ", "grad", "gradian", "gradians"] # (π / 200) rad end unit "deg", value: [(Math::PI / 180), "rad"], aliases: ["°", "degree", "degrees"] # (π / 180) rad unit "cir", value: [360, "deg"], aliases: ["circle", "circles"] # (2 * π) rad unit "mil", value: [Rational(1, 6400), "cir"], aliases: ["mils"] # ((2 * π) / 6400) rad unit "rev", value: [1, "cir"], aliases: ["revolution", "revolutions"] # (2 * π) rad unit "brad", value: [(Math::PI / 128), "rad"], aliases: ["b°", "bdeg", "binary degree", "binary radian", "binary degrees", "binary radians"] # (π / 128) rad unit "arcmin", value: [Rational(1, 60), "deg"], aliases: ["′", "amin", "arcminute", "arcminutes"] # ((π / 180) / 60) rad unit "arcsec", value: [Rational(1, 60), "arcmin"], aliases: ["″", "asec", "arcsecond", "arcseconds"] # ((π / 180) / 3600) rad end
- SolidAngle =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "sr" system :metric do si_unit "sr", aliases: ["steradian", "steradians"] end unit "sp", value: [(4 * Math::PI), "sr"], aliases: ["spat", "spats"] # (4 * π) sr unit "deg²", value: [((Math::PI / 180) ** 2), "sr"], aliases: ["(°)²", "sq °", "square degree", "square degrees"] # (π / 180)² sr unit "arcmin²", value: [(Rational(1, 60) ** 2), "deg²"], aliases: ["(′)²", "sq ′", "square arcminute", "square arcminutes"] # ((π / 180) * (1 / 60))² sr unit "arcsec²", value: [(Rational(1, 60) ** 2), "arcmin²"], aliases: ["(″)²", "sq ″", "square arcsecond", "square arcseconds"] # ((π / 180) * (1 / 3600))² sr end
- SoundLevel =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "dB" system :metric do si_unit "B", aliases: ["bel", "bels"] end unit "Np", value: [(20 / Math.log(10)), "dB"], aliases: ["neper", "nepers"] # (20 / ln(10)) dB end
- Temperature =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "K" system :metric do si_unit "K", aliases: ["kelvin", "kelvins"] end system :english_engineering do unit "°R", value: "5/9 K", aliases: ["R", "°Ra", "Ra", "rankine"] end end
- Acceleration =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m/s²" system :metric do si_unit "m/s²", aliases: ["m/s^2", "m·s⁻²", "meter per second squared", "meters per second squared", "metre per second squared", "metres per second squared"] end system :imperial do unit "in/s²", value: "0.0254 m/s²", aliases: ["in/s^2", "in·s⁻²", "inch per second squared", "inches per second squared"] end system :foot_pound_second do unit "ft/s²", value: "0.3048 m/s²", aliases: ["ft/s^2", "ft·s⁻²", "foot per second squared", "feet per second squared"] end system :meteorology_aviation_maritime do unit "Kn/s", value: "0.5144444 m/s²", aliases: ["knot per second", "knots per second"] end end
- LuminousFlux =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "lm" system :metric do si_unit "lm", aliases: ["lumen", "lumens"] end end
- MagneticFlux =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Wb" system :metric do si_unit "Wb", aliases: ["weber", "webers"] unit "T·m²", value: "1 Wb", aliases: ["T*m^2", "tesla-square meter", "tesla-square metre"] end system :centimetre_gram_second do unit "Mx", value: "1e-8 Wb", aliases: ["maxwell", "maxwells"] unit "G·cm²", value: "1e-8 Wb", aliases: ["G*cm^2", "gauss-square centimeter", "gauss-square centimetre"] end end
- Radioactivity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Bq" system :metric do si_unit "Bq", aliases: ["becquerel", "becquerels"] end unit "Ci", value: "3.7e+10 Bq", aliases: ["curie", "curies"] unit "Rd", value: "1e+6 Bq", aliases: ["rutherford", "rutherfords"] end
- MagneticField =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Oe" system :metric do si_unit "Oe", aliases: ["oersted", "oersteds"] unit "A/m", value: [(Math::PI / 250), "Oe"], aliases: ["A·m⁻¹", "ampere/meter", "ampere/metre", "amperes/meter", "amperes/metre", "ampere per meter", "ampere per metre", "amperes per meter", "amperes per metre"] end end
- ElectricCharge =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "C" system :metric do si_unit "C", aliases: ["coulomb", "coulombs"] end system :centimetre_gram_second do unit "Fr", value: "3.335641e-10 C", aliases: ["franklin", "franklins"] unit "Fd", value: "96485.3377164 C", aliases: ["faraday", "faradays"] unit "abC", value: "10 C", aliases: ["abcoulomb", "abcoulombs"] unit "statC", value: "3.335641e-10 C", aliases: ["statcoulomb", "statcoulombs"] end end
- AngularVelocity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "rad/s" system :metric do unit "rad/s", aliases: ["rad·s⁻¹", "radian per second", "radians per second"] unit "rad/min", value: "1/60 rad/s", aliases: ["rad·min⁻¹", "radian per minute", "radians per minute"] unit "rad/h", value: "1/60 rad/min", aliases: ["rad·h⁻¹", "radian per hour", "radians per hour"] unit "gon/s", value: [(Math::PI / 200), "rad/s"], aliases: ["ᵍ/s", "gon·s⁻¹", "gradian per second", "gradians per second"] unit "gon/min", value: "1/60 gon/s", aliases: ["ᵍ/min", "gon·min⁻¹", "gradian per minute", "gradians per minute"] unit "gon/h", value: "1/60 gon/min", aliases: ["ᵍ/h", "gon·h⁻¹", "gradian per hour", "gradians per hour"] end unit "deg/s", value: [(Math::PI / 180), "rad/s"], aliases: ["°/s", "deg·s⁻¹", "degree per second", "degrees per second"] unit "deg/min", value: "1/60 deg/s", aliases: ["°/min", "deg·min⁻¹", "degree per minute", "degrees per minute"] unit "deg/h", value: "1/60 deg/min", aliases: ["°/h", "deg·h⁻¹", "degree per hour", "degrees per hour"] unit "rev/s", value: "360 deg/s", aliases: ["rev·s⁻¹", "revolution per second", "revolutions per second"] unit "rev/min", value: "1/60 rev/s", aliases: ["rev·min⁻¹", "revolution per minute", "revolutions per minute"] unit "rev/h", value: "1/60 rev/min", aliases: ["rev·h⁻¹", "revolution per hour", "revolutions per hour"] end
- ElectricCurrent =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "A" system :metric do si_unit "A", aliases: ["amp", "ampere", "amperes"] end system :centimetre_gram_second do unit "Bi", value: "10 A", aliases: ["biot", "biots"] unit "abA", value: "10 A", aliases: ["abampere", "abamperes"] unit "statA", value: "3.33564e-10 A", aliases: ["statampere", "statamperes"] end end
- DynamicViscosity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Pa⋅s" system :metric do si_unit "Pa⋅s", aliases: ["Pa*s", "pascal second"] end system :centimetre_gram_second do unit "P", value: "1 dPa⋅s", aliases: ["dyne·s/cm²", "dyne*s/cm^2", "poise"] unit "Pl", value: "10 P", aliases: ["poiseuille"] end system :foot_pound_second do unit "lb/(ft⋅s)", value: "1.488164 Pa⋅s", aliases: ["lb/(ft*s)", "pound per foot second"] unit "lb/(ft⋅h)", value: "0.0004133789 Pa⋅s", aliases: ["lb/(ft*h)", "pound per foot hour"] unit "(lbf⋅s)/ft²", value: "47.88026 Pa⋅s", aliases: ["(lb⋅s)/ft²", "(lbf*s)/ft^2", "(lb*s)/ft^2", "pound-force second per square foot"] unit "(lbf⋅s)/in²", value: "6894.757 Pa⋅s", aliases: ["(lb⋅s)/in²", "(lbf*s)/in^2", "(lb*s)/in^2", "pound-force second per square inch"] end end
- KineticViscosity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "m²/s" system :metric do unit "m²/s", aliases: ["m^2/s", "square metre per second", "square meter per second", "square metres per second", "square meters per second"] end system :foot_pound_second do unit "ft²/s", value: "0.09290304 m²/s", aliases: ["ft^2/s", "square foot per second", "square feet per second"] unit "in²/s", value: "0.006944444444444443 ft²/s", aliases: ["in^2/s", "square inch per second", "square inches per second"] end system :centimetre_gram_second do unit "St", value: "1e-4 m²/s", aliases: ["strokes"] end end
- CatalyticActivity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "kat" system :metric do si_unit "kat", aliases: ["katal", "katals"] end unit "U", value: "1/60 μkat", aliases: ["unit", "units", "enzUnit"] end
- ElectricPotential =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "V" system :metric do si_unit "V", aliases: ["volt", "volts"] unit "W/A", value: "1 V", aliases: ["W·A⁻¹", "watt per ampere", "watts per ampere"] unit "J/C", value: "1 V", aliases: ["J·C⁻¹", "joule per coulomb", "joules per coulomb"] end system :centimetre_gram_second do unit "abV", value: "1e-8 V", aliases: ["abvolt", "abvolts"] unit "statV", value: "299.792458 V", aliases: ["statvolt", "statvolts"] end end
- LuminousIntensity =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "cd" system :metric do si_unit "cd", aliases: ["candela", "candelas"] end unit "hk", value: "0.92 cd", aliases: ["hefnerkerze"] end
- MagneticInduction =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "T" system :metric do si_unit "T", aliases: ["tesla", "teslas"] end system :centimetre_gram_second do unit "G", value: "1e-4 T", aliases: ["Gs", "gauss", "gausses"] end end
- RadiationExposure =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "C/kg" system :metric do si_unit "C/kg", aliases: ["coulomb per kilogram", "coulomb per kilogramme", "coulombs per kilogram", "coulombs per kilogramme"] end system :legacy_units do unit "R", value: "0.000258 C/kg", aliases: ["röntgen", "roentgen", "roentgens"] end end
- AmountOfSubstance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "mol" system :metric do si_unit "mol", aliases: ["mole", "moles"] end unit "NA", value: "1.6605389210322e-24 mol", aliases: ["avogadro constant"] end
- InformationEntropy =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "nat" si_unit "b", value: "1 Sh", aliases: ["bit", "bits"], add_binary_prefixes: true si_unit "B", value: [2.pow(3), "b"], aliases: ["byte", "bytes"], add_binary_prefixes: true unit "Sh", value: [Math.log(2), "nat"], aliases: ["shannon", "shannons"] unit "nat", aliases: ["nit", "nepit", "natural unit of information"] unit "nybl", value: [2.pow(2), "b"], aliases: ["nibble", "nibbles", "nybble", "nyble"] unit "Hart", value: [Math.log(10), "nat"], aliases: ["hartley", "ban", "dit"] end
- MagnetomotiveForce =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "A⋅t" system :metric do unit "A⋅t", aliases: ["A*t", "ampere-turn"] end system :centimetre_gram_second do unit "Gb", value: [Rational(10, (4 * Math::PI)), "A⋅t"], aliases: ["Gi", "gilbert", "gilberts"] end end
- AngularAcceleration =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "rad/s²" system :metric do si_unit "rad/s²", aliases: ["rad/s^2", "rad·s⁻²", "radian per second squared", "radians per second squared"] unit "gon/s²", value: [(Math::PI / 200), "rad/s²"], aliases: ["gon/s^2", "ᵍ/s²", "gon·s⁻²", "gradian per second squared", "gradians per second squared"] end unit "deg/s²", value: [(Math::PI / 180), "rad/s²"], aliases: ["deg/s^2", "°/s²", "deg·s⁻²", "degree per second squared", "degrees per second squared"] end
- ElectricConductance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "S" system :metric do si_unit "S", aliases: ["℧", "Ω⁻¹", "siemens", "mho", "mhos"] unit "A/V", value: "1 S", aliases: ["A·V⁻¹", "amp/volt", "amps/volt", "ampere/volt", "amperes/volt", "ampere per volt", "amperes per volt"] end system :centimetre_gram_second do unit "abS", value: "1e+9 S", aliases: ["ab℧", "absiemens", "abmho", "abmhos"] unit "statS", value: "1.112347e-12 S", aliases: ["stat℧", "statsiemens", "statmho", "statmhos"] end end
- ElectricalElastance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "D" system :metric do si_unit "D", aliases: ["F⁻¹", "daraf", "darafs", "reciprocal farad", "reciprocal farads"] unit "V/C", value: "1 D", aliases: ["V·C⁻¹", "volt/coulomb", "volts/coulomb", "volt per coulomb", "volts per coulomb"] end end
- ElectricalInductance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "H" system :metric do si_unit "H", aliases: ["henry", "henries"] unit "Wb/A", value: "1 H", aliases: ["Wb·A⁻¹", "weber per ampere", "webers per ampere"] end system :centimetre_gram_second do unit "abH", value: "1e-9 H", aliases: ["abhenry", "abhenries"] unit "statH", value: "8.98755178736818e+11 H", aliases: ["stathenry", "stathenries"] end end
- ElectricalResistance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Ω" system :metric do si_unit "Ω", aliases: ["ω", "ohm", "ohms", "reciprocal siemens"] unit "S", value: "1 Ω", aliases: ["siemens", "mho", "mhos"] unit "V/A", value: "1 Ω", aliases: ["V·A⁻¹", "volt/amp", "volts/amp", "volt/ampere", "volts/ampere", "volt per ampere", "volts per ampere"] end system :centimetre_gram_second do unit "abΩ", value: "1e-9 Ω", aliases: ["abω", "abohm", "abohms"] unit "statΩ", value: "8.98755178737e+11 Ω", aliases: ["statω", "statohm", "statohms"] end end
- ElectricDipoleMoment =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "C⋅m" system :metric do si_unit "C⋅m", aliases: ["C*m", "coulomb-meter", "coulomb-metre"] end system :centimetre_gram_second do unit "D", value: "3.33564095e-30 C⋅m", aliases: ["debye", "debyes"] end end
- ElectricalCapacitance =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "F" system :metric do si_unit "F", aliases: ["farad", "farads"] unit "C/V", value: "1 F", aliases: ["C·V⁻¹", "coulomb/volt", "coulombs/volt", "coulomb per volt", "coulombs per volt"] end system :centimetre_gram_second do unit "abF", value: "1e+9 F", aliases: ["abfarad", "abfarads"] unit "statF", value: "1.1127e-12 F", aliases: ["statfarad", "statfarads"] end end
- RadiationAbsorbedDose =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Gy" system :metric do si_unit "Gy", aliases: ["gray", "grays"] end system :centimetre_gram_second do unit "erg/g", value: "1e-4 Gy", aliases: ["erg per gram", "erg per gramme", "ergs per gram", "ergs per gramme"] unit "rad", value: "0.01 Gy", aliases: ["radiation absorbed dose"] end end
- RadiationEquivalentDose =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "Sv" system :metric do si_unit "Sv", aliases: ["sievert", "sieverts"] end system :centimetre_gram_second do unit "rem", value: "0.01 Sv", aliases: ["röntgen equivalent man", "roentgen equivalent man"] end end
- ElectricQuadrupoleMoment =
-*- warn_indent: true -*-
UnitMeasurements.build do primitive "C·m²" system :metric do si_unit "C·m²", aliases: ["C*m^2", "coulomb square meter", "coulomb square metre"] end system :centimetre_gram_second do unit "statC·cm²", value: "3.335641e-14 C·m²", aliases: ["statC*m^2", "statcoulomb square meter", "statcoulomb square metre"] unit "B", value: "1e-26 statC·cm²", aliases: ["buckingham", "buckinghams"] end end
Class Method Summary collapse
-
.build(&block) {|builder| ... } ⇒ Class
Creates a new unit group based on the provided
block
of instructions.
Class Method Details
.build(&block) {|builder| ... } ⇒ Class
Creates a new unit group based on the provided block
of instructions.
The build
method allows you to define and create a custom unit group with units and their conversions. It takes a block of instructions as an argument, which is evaluated by an instance of UnitGroupBuilder
.
Within the block
, you can use various methods provided by UnitGroupBuilder
to define units, group them into unit system, and set primitive unit of the unit group. These methods include primitive
, system
, si_unit
, and unit
.
The resulting unit group is encapsulated in a new subclass of Measurement
. This subclass will have access to the defined units and their conversions through the unit_group
class attribute.
This method provides a powerful way to create specialized unit groups tailored to specific measurement domains.
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/unit_measurements/base.rb', line 65 def build(&block) builder = UnitGroupBuilder.new builder.instance_eval(&block) Class.new(Measurement) do class << self attr_reader :unit_group end @unit_group = builder.build end end |