Class: LitaForecast::Location

Inherits:
Object
  • Object
show all
Includes:
Mixins
Defined in:
lib/lita/handlers/forecast/location.rb

Overview

LitaForecast class for determining someone’s location

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Mixins

#geo_location, #units

Constructor Details

#initialize(redis) ⇒ Location

Returns a new instance of Location.



13
14
15
# File 'lib/lita/handlers/forecast/location.rb', line 13

def initialize(redis)
  @lita_redis = redis
end

Instance Attribute Details

#lita_redisObject

Returns the value of attribute lita_redis.



11
12
13
# File 'lib/lita/handlers/forecast/location.rb', line 11

def lita_redis
  @lita_redis
end

Instance Method Details

#find_location(search) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/lita/handlers/forecast/location.rb', line 17

def find_location(search)
  loc = lita_redis.hgetall("alias:#{search}").symbolize_keys!

  if loc.empty?
    g = Geocoder.search(search)[0].data
    gl = geo_location(g)
    loc = { lat: g['geometry']['location']['lat'],
            lng: g['geometry']['location']['lng'],
            desc: desc(gl) }
  end

  loc
end