Class: Twofishes::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/twofishes/client.rb

Class Method Summary collapse

Class Method Details

.geocode(location, includes: []) ⇒ Twofishes::Result

Geocodes a given string.

Examples:

Twofishes::Client.geocode('Zurich, Switzerland')

Parameters:

  • location (String)
  • list (Array)

    of additional ResponseIncludes constants

Returns:



14
15
16
17
18
19
# File 'lib/twofishes/client.rb', line 14

def self.geocode(location, includes: [])
  handle_response do
    request = GeocodeRequest.new(query: location, responseIncludes: includes)
    thrift_client.geocode(request)
  end
end

.reverse_geocode(coordinates, includes: []) ⇒ Twofishes::Result

Reverse geocodes lat/lng.

Examples:

Twofishes::Client.reverse_geocode([47.3787733, 8.5273363])

Parameters:

  • latitude, (Array)

    longitude pair

Returns:



28
29
30
31
32
33
34
# File 'lib/twofishes/client.rb', line 28

def self.reverse_geocode(coordinates, includes: [])
  handle_response do
    point = GeocodePoint.new(lat: coordinates[0], lng: coordinates[1])
    request = GeocodeRequest.new(ll: point, responseIncludes: includes)
    thrift_client.reverseGeocode(request)
  end
end

.thrift_clientObject



36
37
38
39
40
41
42
43
# File 'lib/twofishes/client.rb', line 36

def self.thrift_client
  ThriftClient.new(
    Geocoder::Client,
    Twofishes.configuration.address,
    retries: Twofishes.configuration.retries,
    timeout: Twofishes.configuration.timeout
  )
end