class Google::Places::Client

Attributes

api_key[R]

Public Class Methods

new(api_key) click to toggle source
# File lib/google/places/client.rb, line 13
def initialize(api_key)
  @api_key = api_key
end

Public Instance Methods

place_add(name, location, types, options = {}) click to toggle source
# File lib/google/places/client.rb, line 41
def place_add(name, location, types, options = {})
  options = options.with_indifferent_access
  self.class.post(
    "/add/json",
    {
      query: { key: api_key },
      body: build_add_request_body(name, location, types, options)
    }
  )
end
place_autocomplete(input, options = {}) click to toggle source
# File lib/google/places/client.rb, line 17
def place_autocomplete(input, options = {})
  options = options.with_indifferent_access
  self.class.get(
    "/autocomplete/json",
    { query: build_request_parameters(input, options) }
  )
end
place_details(place_id, options = {}) click to toggle source
# File lib/google/places/client.rb, line 52
def place_details(place_id, options = {})
  options = options.with_indifferent_access
  self.class.get(
    "/details/json",
    { query: build_details_request_parameters(place_id, options) }
  )
end
place_photos(photo_reference, options = {}) click to toggle source
# File lib/google/places/client.rb, line 33
def place_photos(photo_reference, options = {})
  options = options.with_indifferent_access
  self.class.get(
    "/photo",
    { query: build_photo_request_parameters(photo_reference, options) }
  )
end
query_autocomplete(input, options = {}) click to toggle source
# File lib/google/places/client.rb, line 25
def query_autocomplete(input, options = {})
  options = options.with_indifferent_access
  self.class.get(
    "/queryautocomplete/json",
    { query: build_request_parameters(input, options) }
  )
end

Private Instance Methods

build_add_request_body(name, location, types, options = {}) click to toggle source
# File lib/google/places/client.rb, line 96
def build_add_request_body(name, location, types, options = {})
  required_params = { name: name, location: location, types: types }
  required_params.merge(options).to_json
end
build_details_request_parameters(place_id, options = {}) click to toggle source
# File lib/google/places/client.rb, line 101
def build_details_request_parameters(place_id, options = {})
  required_params = { key: api_key, placeid: place_id }
  required_params.merge(options)
end
build_photo_request_parameters(photo_reference, options = {}) click to toggle source
# File lib/google/places/client.rb, line 91
def build_photo_request_parameters(photo_reference, options = {})
  required_params = { key: api_key, photoreference: photo_reference }
  required_params.merge(options)
end
build_request_parameters(input, options = {}) click to toggle source
# File lib/google/places/client.rb, line 86
def build_request_parameters(input, options = {})
  required_params = { key: api_key, input: input }
  required_params.merge(options)
end
build_search_request_parameters(location, radius, options = {}) click to toggle source
# File lib/google/places/client.rb, line 106
def build_search_request_parameters(location, radius, options = {})
  required_params = { key: api_key, location: location, radius: radius }
  required_params.merge(options)
end
build_text_search_request_parameters(query, options = {}) click to toggle source
# File lib/google/places/client.rb, line 111
def build_text_search_request_parameters(query, options = {})
  required_params = { key: api_key, query: query }
  required_params.merge(options)
end