Module: Scalar::SupportClasses::Measurement::ClassMethods

Defined in:
lib/scalar/support_classes/measurement.rb

Instance Method Summary collapse

Instance Method Details

#alias_map=(alias_map) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/scalar/support_classes/measurement.rb', line 7

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) ⇒ Object



23
24
25
# File 'lib/scalar/support_classes/measurement.rb', line 23

def define_conversion_aliases(name, aliases)
  aliases.each {|aka| alias_method aka, name }
end

#define_conversion_method(name) ⇒ Object



19
20
21
# File 'lib/scalar/support_classes/measurement.rb', line 19

def define_conversion_method(name)
  define_method(name) { convert(from: unit, to: name) }
end

#define_factory_method(name) ⇒ Object



15
16
17
# File 'lib/scalar/support_classes/measurement.rb', line 15

def define_factory_method(name)
  define_singleton_method(name) {|scalar| new(scalar, name) }
end