Module: Measurements

Defined in:
lib/measurements.rb,
lib/measurements/type.rb,
lib/measurements/unit.rb,
lib/measurements/system.rb,
lib/measurements/helpers.rb,
lib/measurements/version.rb,
lib/measurements/unit/cup.rb,
lib/measurements/exception.rb,
lib/measurements/unit/foot.rb,
lib/measurements/unit/inch.rb,
lib/measurements/unit/mile.rb,
lib/measurements/unit/pint.rb,
lib/measurements/unit/thou.rb,
lib/measurements/unit/unit.rb,
lib/measurements/unit/yard.rb,
lib/measurements/unit/chain.rb,
lib/measurements/unit/ounce.rb,
lib/measurements/unit/pound.rb,
lib/measurements/unit/quart.rb,
lib/measurements/unit/gallon.rb,
lib/measurements/unit/league.rb,
lib/measurements/unit/furlong.rb,
lib/measurements/unit/baseunit.rb,
lib/measurements/unit/teaspoon.rb,
lib/measurements/unit/tablespoon.rb

Overview

Author:

  • Casey Stehlik

Defined Under Namespace

Modules: Exception, System, Type, Unit

Constant Summary collapse

LOCALE =

This is the local to use when looking up abbreviations. Later on you will be able to select other locales, but for now you get only english

"en"
Version =

The current version of the gem, the numbers stand for major.minor.patch

"0.3.0"

Class Method Summary collapse

Class Method Details

.available_typesArray

Helper method to get what types are available

Returns:

  • (Array)

    an Array of types that are available



11
12
13
# File 'lib/measurements/helpers.rb', line 11

def available_types
    Measurements::Type.available_types
end

.available_unitsArray

Helper method to get what units are currently implemented

Returns:

  • (Array)

    an Array of currently implemented units



5
6
7
# File 'lib/measurements/helpers.rb', line 5

def available_units
    Measurements::Unit.available_units
end

.new_unit(klass, quantity, type = nil) ⇒ BaseUnit Also known as: create_unit

Helper method to create a unit class without having to explicitly call Measurements::Unit::BaseUnit#initialize

Parameters:

  • klass (Symbol)

    the class of the unit you wish to initialize

  • quantity (Float)

    the amount of the unit

  • type (Symbol) (defaults to: nil)

    optional unit type such as :solid or :fluid

Returns:

  • (BaseUnit)

    a new unit instance of class = klass



21
22
23
24
25
26
27
28
# File 'lib/measurements/helpers.rb', line 21

def new_unit(klass, quantity, type = nil)
    if available_units.include? klass
        unit = eval('Measurements::Unit::' + klass.to_s.capitalize).new quantity, type
        Measurements::Unit::Unit.new(unit)
    else
        raise Measurements::Exception::NoUnitError, "The unit requested does not exist."
    end
end