Class: Geocode

Inherits:
Object
  • Object
show all
Defined in:
lib/weather_usa/geocode.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result) ⇒ Geocode

Returns a new instance of Geocode.



4
5
6
7
8
9
# File 'lib/weather_usa/geocode.rb', line 4

def initialize(result)
  location = result.find {|obj| obj.data["address"]["country_code"] == "us"} 
  @name = location.data["display_name"]
  @latitude = location.data["lat"]
  @longitude = location.data["lon"]    
end

Instance Attribute Details

#latitudeObject (readonly)

Returns the value of attribute latitude.



2
3
4
# File 'lib/weather_usa/geocode.rb', line 2

def latitude
  @latitude
end

#longitudeObject (readonly)

Returns the value of attribute longitude.



2
3
4
# File 'lib/weather_usa/geocode.rb', line 2

def longitude
  @longitude
end

#nameObject (readonly)

Returns the value of attribute name.



2
3
4
# File 'lib/weather_usa/geocode.rb', line 2

def name
  @name
end

Class Method Details

.get_geocode(search_term) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/weather_usa/geocode.rb', line 11

def self.get_geocode(search_term)
  result = Geocoder.search(search_term)
  if !(result.find {|obj| obj.data["address"]["country_code"] == "us"})
    puts
    puts "    Please enter a valid search.".red
    puts
    print "    >>  ".green
    input = gets.strip
    self.get_geocode(input)
  else
    Geocode.new(result)
  end   
end