Method: Stick::Units::Unit#initialize
- Defined in:
- lib/stick/units/base.rb
#initialize(units = {}, converter = nil) ⇒ Unit
Creates a new (composite) Unit. It is passed a hash of the form {:unit => exponent}, and the Converter to use.
Examples:
Unit.new(:m => 1, :s => -1, Converter.converter(:uk)) # => m/s
Unit.new(:mi => 1, :s => -2) # => mi/s**2
See also Converter, Converter.converter
206 207 208 209 210 211 212 213 214 215 216 217 218 |
# File 'lib/stick/units/base.rb', line 206 def initialize(units = {}, converter = nil) conv = proc { converter ||= Units::Converter.current } if units.is_a? ::String @units = decode_string(units, conv) else @units = {} units.each_pair do |k, v| k = conv[].base_unit(k.to_sym) if not k.is_a? Units::BaseUnit @units[k] = v end end normalize_units end |