class Social::Facebook

Constants

COUNT_KEY
ENDPOINT

Public Class Methods

total_count(url) click to toggle source
# File lib/social/facebook.rb, line 6
def self.total_count(url)
  begin
    response = Net::HTTP.get(URI(ENDPOINT.gsub('URL', url)))
    json = JSON.parse(response)
    if json.has_key?(COUNT_KEY)
      json[COUNT_KEY]
    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/facebook.rb, line 22
def self.log_and_return_zero(url, response = nil, exception = nil)
  log_message = "Could not get facebook 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