Module: Locatable
- Defined in:
- lib/locatable.rb,
lib/locatable/railtie.rb,
lib/locatable/version.rb
Defined Under Namespace
Modules: Helpers, MigrationHelpers, Model, Scopes
Classes: Railtie
Constant Summary
collapse
- VALID_UNITS =
%i[km mi nm].freeze
- METERS_PER_UNIT =
{
km: 1_000.0,
mi: 1_609.344,
nm: 1_852.0
}.freeze
- VERSION =
"0.1.1"
Class Method Summary
collapse
Class Method Details
.default_units ⇒ Object
18
19
20
|
# File 'lib/locatable.rb', line 18
def default_units
@default_units ||= :mi
end
|
.default_units=(units) ⇒ Object
22
23
24
|
# File 'lib/locatable.rb', line 22
def default_units=(units)
@default_units = normalize_units(units)
end
|
.normalize_units(units) ⇒ Object
26
27
28
29
30
31
32
33
|
# File 'lib/locatable.rb', line 26
def normalize_units(units)
units = units.to_sym
return units if VALID_UNITS.include?(units)
raise ArgumentError, "units must be one of: #{VALID_UNITS.join(", ")}"
rescue NoMethodError
raise ArgumentError, "units must be one of: #{VALID_UNITS.join(", ")}"
end
|