Module: GeoUnits::ClassMethods

Included in:
GeoUnits
Defined in:
lib/geo_units.rb

Instance Method Summary collapse

Instance Method Details

#all_unitsObject



85
86
87
# File 'lib/geo_units.rb', line 85

def all_units
  [:miles, :mile, :kms, :km, :feet, :foot, :meter, :meters, :radians, :rad]
end

#key(unit = :km) ⇒ Object

Raises:

  • (ArgumentError)


77
78
79
80
81
82
83
# File 'lib/geo_units.rb', line 77

def key unit = :km
  unit = unit.to_sym
  methods.grep(/_unit$/).each do |meth|
    return meth.to_s.chomp('_unit').to_sym if send(meth).include? unit
  end
  raise ArgumentError, "Unknown unit key: #{unit}"
end

#normalized(unit = :km) ⇒ Object

Raises:

  • (ArgumentError)


66
67
68
69
70
71
72
73
74
75
# File 'lib/geo_units.rb', line 66

def normalized unit = :km
  unit = key(unit)
  return :feet if feet_unit.include? unit
  return :meters if meters_unit.include? unit
  return :kilometers if kms_unit.include? unit
  return :miles if miles_unit.include? unit
  return :radians if radins_unit.include? unit

  raise ArgumentError, "Normalize unit error, unit key: #{unit}"
end