Module: Unitwise

Defined in:
lib/unitwise.rb,
lib/unitwise/atom.rb,
lib/unitwise/term.rb,
lib/unitwise/unit.rb,
lib/unitwise/base.rb,
lib/unitwise/scale.rb,
lib/unitwise/prefix.rb,
lib/unitwise/errors.rb,
lib/unitwise/search.rb,
lib/unitwise/version.rb,
lib/unitwise/standard.rb,
lib/unitwise/compatible.rb,
lib/unitwise/expression.rb,
lib/unitwise/functional.rb,
lib/unitwise/measurement.rb,
lib/unitwise/expression/parser.rb,
lib/unitwise/expression/matcher.rb,
lib/unitwise/expression/composer.rb,
lib/unitwise/expression/decomposer.rb,
lib/unitwise/expression/transformer.rb

Overview

Unitwise is a library for performing mathematical operations and conversions on all units defined by the [Unified Code for Units of Measure(UCUM).

Defined Under Namespace

Modules: Compatible, Expression, Search, Standard Classes: Atom, Base, ConversionError, ExpressionError, Functional, Measurement, Prefix, Scale, Term, Unit

Constant Summary

VERSION =
'2.0.0'

Class Method Summary collapse

Class Method Details

.data_file(key) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

A helper to get the location of a yaml data file



55
56
57
# File 'lib/unitwise.rb', line 55

def self.data_file(key)
  File.join path, 'data', "#{key}.yaml"
end

.pathObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

The system path for the installed gem



49
50
51
# File 'lib/unitwise.rb', line 49

def self.path
  @path ||= File.dirname(File.dirname(__FILE__))
end

.search(term) ⇒ Array

Search for available compounds. This is just a helper method for convenience



31
32
33
# File 'lib/unitwise.rb', line 31

def self.search(term)
  Search.search(term)
end

.valid?(expression) ⇒ true, false

Determine if a given string is a valid unit expression



39
40
41
42
43
44
45
# File 'lib/unitwise.rb', line 39

def self.valid?(expression)
  begin
    !!Unitwise::Expression.decompose(expression)
  rescue ExpressionError
    false
  end
end