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