Class: SharedCountApi::Client
- Inherits:
-
Object
- Object
- SharedCountApi::Client
- Defined in:
- lib/shared_count_api.rb
Constant Summary collapse
- HTTP_ENDPOINT =
"http://api.sharedcount.com/".freeze
- HTTPS_ENDPOINT =
"https://sharedcount.appspot.com/".freeze
Instance Method Summary collapse
- #buzz ⇒ Object
- #delicious ⇒ Object
- #diggs ⇒ Object
- #facebook_like_count ⇒ Object
- #facebook_share_count ⇒ Object
- #google_plus_one ⇒ Object
-
#initialize(url, use_ssl = false) ⇒ Client
constructor
A new instance of Client.
- #linked_in ⇒ Object
- #pinterest ⇒ Object
- #reddit ⇒ Object
- #response ⇒ Object
- #stumble_upon ⇒ Object
- #twitter ⇒ Object
Constructor Details
#initialize(url, use_ssl = false) ⇒ Client
Returns a new instance of Client.
41 42 43 44 45 46 47 48 49 |
# 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 |
Instance Method Details
#buzz ⇒ Object
75 76 77 |
# File 'lib/shared_count_api.rb', line 75 def buzz response["Buzz"] end |
#delicious ⇒ Object
67 68 69 |
# File 'lib/shared_count_api.rb', line 67 def delicious response["Delicious"] end |
#diggs ⇒ Object
83 84 85 |
# File 'lib/shared_count_api.rb', line 83 def diggs response["Diggs"] end |
#facebook_like_count ⇒ Object
59 60 61 |
# File 'lib/shared_count_api.rb', line 59 def facebook_like_count facebook_metrics["like_count"] end |
#facebook_share_count ⇒ Object
63 64 65 |
# File 'lib/shared_count_api.rb', line 63 def facebook_share_count facebook_metrics["share_count"] end |
#google_plus_one ⇒ Object
71 72 73 |
# File 'lib/shared_count_api.rb', line 71 def google_plus_one response["GooglePlusOne"] end |
#linked_in ⇒ Object
91 92 93 |
# File 'lib/shared_count_api.rb', line 91 def linked_in response["LinkedIn"] end |
#pinterest ⇒ Object
87 88 89 |
# File 'lib/shared_count_api.rb', line 87 def pinterest response["Pinterest"] end |
#reddit ⇒ Object
55 56 57 |
# File 'lib/shared_count_api.rb', line 55 def reddit response["Reddit"] end |
#response ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# 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 ⇒ Object
51 52 53 |
# File 'lib/shared_count_api.rb', line 51 def stumble_upon response["StumbleUpon"] end |
#twitter ⇒ Object
79 80 81 |
# File 'lib/shared_count_api.rb', line 79 def twitter response["Twitter"] end |