Class: DiscordDistanceCalculator::DistanceCalculator
- Inherits:
-
Object
- Object
- DiscordDistanceCalculator::DistanceCalculator
- Defined in:
- lib/discord_distance_calculator/distance_calculator.rb
Instance Attribute Summary collapse
-
#locations ⇒ Object
readonly
Returns the value of attribute locations.
Instance Method Summary collapse
- #get_coordinates ⇒ Object
- #get_distance ⇒ Object
- #get_kilometers ⇒ Object
- #get_miles ⇒ Object
-
#initialize(locations) ⇒ DistanceCalculator
constructor
A new instance of DistanceCalculator.
Constructor Details
#initialize(locations) ⇒ DistanceCalculator
Returns a new instance of DistanceCalculator.
5 6 7 8 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 5 def initialize(locations) @locations = locations Geocoder.configure(api_key: ENV['GEOCODER']) end |
Instance Attribute Details
#locations ⇒ Object (readonly)
Returns the value of attribute locations.
3 4 5 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 3 def locations @locations end |
Instance Method Details
#get_coordinates ⇒ Object
25 26 27 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 25 def get_coordinates [Geocoder.coordinates(locations[0]),Geocoder.coordinates(locations[1])] end |
#get_distance ⇒ Object
20 21 22 23 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 20 def get_distance coordinates = get_coordinates Geocoder::Calculations.distance_between(coordinates[0], coordinates[1]) end |
#get_kilometers ⇒ Object
15 16 17 18 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 15 def get_kilometers distance = get_distance distance.nan? ? 0 : (distance * 1.609347218694).round(0) end |
#get_miles ⇒ Object
10 11 12 13 |
# File 'lib/discord_distance_calculator/distance_calculator.rb', line 10 def get_miles distance = get_distance distance.nan? ? 0 : distance.round(0) end |