module GeoUnits::ClassMethods

Public Instance Methods

all_units() click to toggle source
# File lib/geo_units.rb, line 85
def all_units
  [:miles, :mile, :kms, :km, :feet, :foot, :meter, :meters, :radians, :rad]
end
key(unit = :km) click to toggle source
# 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) click to toggle source
# 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

Protected Instance Methods

feet_unit() click to toggle source
# File lib/geo_units.rb, line 91
def feet_unit
  [:ft, :feet, :foot]
end
kms_unit() click to toggle source
# File lib/geo_units.rb, line 99
def kms_unit
  [:km, :kms, :kilometer, :kilometers]
end
meters_unit() click to toggle source
# File lib/geo_units.rb, line 95
def meters_unit
  [:m, :meter, :meters]
end
miles_unit() click to toggle source
# File lib/geo_units.rb, line 103
def miles_unit
  [:mil, :mile, :miles]
end
radians_unit() click to toggle source
# File lib/geo_units.rb, line 107
def radians_unit
  [:rad, :radians]
end