class Metamorphosis::UnitRegistry
Public Class Methods
new()
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 4 def initialize @categories = Hash.new{|h,k| h[k] = {} } @unit_category_lookup = Hash.new{|h,k| h[k] = Set.new } end
Public Instance Methods
category_names()
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 16 def category_names @categories.keys end
conversion_factor(category, unit)
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 26 def conversion_factor(category, unit) @categories[category.to_sym][unit] end
include?(unit)
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 30 def include?(unit) @unit_category_lookup.include?(unit.to_sym) end
register(category, unit, conversion)
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 9 def register(category, unit, conversion) category_symbol = category.to_sym unit_symbol = unit.to_sym @categories[category_symbol][unit_symbol] = conversion @unit_category_lookup[unit_symbol] << category_symbol end
unit_categories(unit)
click to toggle source
# File lib/metamorphosis/unit_registry.rb, line 20 def unit_categories(unit) unit_symbol = unit.is_a?(UnitValue) ? unit.unit_symbol : unit.to_sym @unit_category_lookup[unit_symbol] end