Class: MetricConversions::Area

Inherits:
Object
  • Object
show all
Defined in:
lib/metric_conversions/areas.rb

Class Method Summary collapse

Class Method Details

.convert(num1, unit1, unit2) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/metric_conversions/areas.rb', line 16

def self.convert(num1, unit1, unit2)
  if Unit(unit1) && Unit(unit2) && Unit(unit1).compatible?(Unit(unit2)) && num1.is_a?(Numeric)
    Unit(num1.to_s + ' ' + unit1).convert_to(unit2).scalar
  else
    throw ArgumentError.new('Not a valid number')
  end
end

.method_missing(name, *args) ⇒ Object



6
7
8
9
10
11
12
13
14
# File 'lib/metric_conversions/areas.rb', line 6

def self.method_missing(name, *args)
  if name =~ /convert_\w+_to_\w+/
    unit1, unit2 = name.to_s.scan(/convert_(\w+)_to_(\w+)/).first[0..1]

    convert(args[0], unit1, unit2)
  else
    super
  end
end