class SharedCountApi::Client
Constants
- HTTPS_ENDPOINT
- HTTP_ENDPOINT
Public Class Methods
new(url, use_ssl = false)
click to toggle source
# File lib/shared_count_api.rb, line 41 def initialize(url, use_ssl = false) @url, @use_ssl = URI.escape(url), use_ssl if SharedCountApi.url @endpoint = SharedCountApi.url else @endpoint = @use_ssl ? HTTPS_ENDPOINT : HTTP_ENDPOINT end end
Public Instance Methods
buzz()
click to toggle source
# File lib/shared_count_api.rb, line 75 def buzz response["Buzz"] end
delicious()
click to toggle source
# File lib/shared_count_api.rb, line 67 def delicious response["Delicious"] end
diggs()
click to toggle source
# File lib/shared_count_api.rb, line 83 def diggs response["Diggs"] end
facebook_like_count()
click to toggle source
# File lib/shared_count_api.rb, line 59 def facebook_like_count facebook_metrics["like_count"] end
google_plus_one()
click to toggle source
# File lib/shared_count_api.rb, line 71 def google_plus_one response["GooglePlusOne"] end
linked_in()
click to toggle source
# File lib/shared_count_api.rb, line 91 def linked_in response["LinkedIn"] end
pinterest()
click to toggle source
# File lib/shared_count_api.rb, line 87 def pinterest response["Pinterest"] end
reddit()
click to toggle source
# File lib/shared_count_api.rb, line 55 def reddit response["Reddit"] end
response()
click to toggle source
# File lib/shared_count_api.rb, line 95 def response @response ||= begin begin uri = if SharedCountApi.apikey URI("#{@endpoint}?url=#{@url}&apikey=#{SharedCountApi.apikey}") else URI("#{@endpoint}?url=#{@url}") end res = Net::HTTP.get_response(uri) case res when Net::HTTPUnauthorized, Net::HTTPBadRequest then json = JSON.parse(res.body) raise Error.new(json["Type"], json["Error"]) when Net::HTTPSuccess then JSON.parse(res.body) end rescue URI::InvalidURIError raise INVALID_URL end end end
stumble_upon()
click to toggle source
# File lib/shared_count_api.rb, line 51 def stumble_upon response["StumbleUpon"] end
twitter()
click to toggle source
# File lib/shared_count_api.rb, line 79 def twitter response["Twitter"] end
Private Instance Methods
facebook_metrics()
click to toggle source
# File lib/shared_count_api.rb, line 121 def facebook_metrics @facebook_metrics ||= response["Facebook"].is_a?(Hash) ? response["Facebook"] : Hash.new(0) end