class Social::GooglePlus

Constants

ENDPOINT
REGEX

Public Class Methods

total_count(url) click to toggle source
# File lib/social/google_plus.rb, line 6
def self.total_count(url)
  begin
    response = Net::HTTP.get(URI(ENDPOINT.gsub('URL', url)))
    matches = REGEX.match(response)
    if matches
      begin
        Integer(matches[1])
      rescue ArgumentError
        log_and_return_zero(url, response)
      end
    else
      log_and_return_zero(url, response)
    end
  rescue StandardError => e
    log_and_return_zero(url, nil, e)
  end
end

Private Class Methods

log_and_return_zero(url, response = nil, exception = nil) click to toggle source
# File lib/social/google_plus.rb, line 26
def self.log_and_return_zero(url, response = nil, exception = nil)
  log_message = "Could not get Google Plus engagement for url: #{url}\n"
  log_message << "Response: #{response}\n" if response.present?
  log_message << "Exception: #{exception.message}\n" if exception.present?
  Rails.logger.warn(log_message)
  0
end