Module: GoogleReviews::Utils
- Defined in:
- lib/google_reviews/utils.rb
Overview
Various utility methods
Class Method Summary collapse
- .encoded_place_name(place_name) ⇒ Object
- .execute_place_id_request(url) ⇒ Object
- .execute_place_name_request(url) ⇒ Object
- .formatted_reviews_data(reviews) ⇒ Object
- .request_uri(api_key, place_id: nil, place_name: nil) ⇒ Object
Class Method Details
.encoded_place_name(place_name) ⇒ Object
47 48 49 |
# File 'lib/google_reviews/utils.rb', line 47 def encoded_place_name(place_name) URI.encode_www_form_component(place_name) end |
.execute_place_id_request(url) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/google_reviews/utils.rb', line 33 def execute_place_id_request(url) data = ApiRequest.execute(url) error = I18n.t("messages.search_id_api_error", exception: data["status"]) return GoogleReviews::Response.new(status: data["status"], error: error) unless data["status"] == "OK" reviews = data["result"]["reviews"] return GoogleReviews::Response.new if reviews.nil? || reviews.empty? GoogleReviews::Response.new(data: formatted_reviews_data(reviews)) end |
.execute_place_name_request(url) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/google_reviews/utils.rb', line 25 def execute_place_name_request(url) data = ApiRequest.execute(url) raise ApiError, I18n.t("messages.search_place_api_error", exception: data["status"]) unless data["status"] == "OK" data["results"] end |
.formatted_reviews_data(reviews) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/google_reviews/utils.rb', line 17 def formatted_reviews_data(reviews) return [] if reviews.nil? || reviews.empty? reviews.map do |review| Review.new(review) end end |
.request_uri(api_key, place_id: nil, place_name: nil) ⇒ Object
9 10 11 12 13 14 15 |
# File 'lib/google_reviews/utils.rb', line 9 def request_uri(api_key, place_id: nil, place_name: nil) if place_id "#{PLACE_ID_SEARCH_BASE_URI}?place_id=#{place_id}&fields=reviews&key=#{api_key}" elsif place_name "#{PLACE_TEXT_SEARCH_BASE_URI}?query=#{encoded_place_name(place_name)}&key=#{api_key}" end end |