lib/virility/strategies/facebook.rb in virility-0.0.6 vs lib/virility/strategies/facebook.rb in virility-0.1.0
- old
+ new
@@ -1,14 +1,21 @@
module Virility
- class Facebook < Context
- BASE_URL = "https://api.facebook.com/method/fql.query?query=SELECT+url%2C+normalized_url%2C+share_count%2C+like_count%2C+comment_count%2C+total_count%2C+commentsbox_count%2C+comments_fbid%2C+click_count+FROM+link_stat+WHERE+url%3D"
+ class Facebook < Strategy
+ BASE_URL = "https://api.facebook.com/method/fql.query?query=SELECT+share_count%2C+like_count%2C+comment_count%2C+total_count%2C+commentsbox_count%2C+click_count+FROM+link_stat+WHERE+url%3D"
def poll
@response = self.class.get("#{BASE_URL}%22#{@url}%22")
- @results = @response.parsed_response["fql_query_response"]["link_stat"]
+ @results = valid_response_test ? @response.parsed_response["fql_query_response"]["link_stat"] : {"total_count" => 0}
end
-
+
def count
- @results["total_count"] || 0
+ results["total_count"] || 0
end
+
+ private
+
+ def valid_response_test
+ @response.respond_to?(:parsed_response) and @response.parsed_response.is_a?(Hash) and !@response.parsed_response["fql_query_response"].nil? and !@response.parsed_response["fql_query_response"]["link_stat"].nil?
+ end
+
end
end
\ No newline at end of file