module Scalar::SupportClasses::Measurement::ClassMethods

Public Instance Methods

alias_map=(alias_map) click to toggle source
# File lib/scalar/support_classes/measurement.rb, line 9
def alias_map=(alias_map)
  alias_map.each do |name,aliases|
    define_factory_method(name)
    define_conversion_method(name)
    define_conversion_aliases(name, aliases)
  end
end
define_conversion_aliases(name, aliases) click to toggle source
# File lib/scalar/support_classes/measurement.rb, line 25
def define_conversion_aliases(name, aliases)
  aliases.each {|aka| alias_method aka, name }
end
define_conversion_method(name) click to toggle source
# File lib/scalar/support_classes/measurement.rb, line 21
def define_conversion_method(name)
  define_method(name) { convert(from: unit, to: name) }
end
define_factory_method(name) click to toggle source
# File lib/scalar/support_classes/measurement.rb, line 17
def define_factory_method(name)
  define_singleton_method(name) {|scalar| new(scalar, name) }
end