Class: FacebookTopics::Api
- Inherits:
-
Object
- Object
- FacebookTopics::Api
- Includes:
- HTTParty
- Defined in:
- lib/facebook_topics/api.rb
Instance Attribute Summary collapse
-
#api_version ⇒ Object
Returns the value of attribute api_version.
-
#auth_token ⇒ Object
Returns the value of attribute auth_token.
Instance Method Summary collapse
- #feeds(topic_id, fields = [], options = {}) ⇒ Object
-
#initialize(attrs) ⇒ Api
constructor
A new instance of Api.
- #insights(contains_all, date_range = nil, fields = []) ⇒ Object
- #quick(topic, fields = [], options = {}) ⇒ Object
- #search(query, fields = []) ⇒ Object
Constructor Details
#initialize(attrs) ⇒ Api
Returns a new instance of Api.
9 10 11 12 13 14 |
# File 'lib/facebook_topics/api.rb', line 9 def initialize(attrs) @auth_token = attrs.delete(:auth_token) @api_version = attrs.delete(:api_version) self.class.default_params access_token: @auth_token end |
Instance Attribute Details
#api_version ⇒ Object
Returns the value of attribute api_version.
7 8 9 |
# File 'lib/facebook_topics/api.rb', line 7 def api_version @api_version end |
#auth_token ⇒ Object
Returns the value of attribute auth_token.
7 8 9 |
# File 'lib/facebook_topics/api.rb', line 7 def auth_token @auth_token end |
Instance Method Details
#feeds(topic_id, fields = [], options = {}) ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/facebook_topics/api.rb', line 40 def feeds(topic_id, fields = [], = {}) fields = ["ranked_posts"] + fields q = {fields: fields.flatten.uniq.join(',')} q.merge! FeedCollection.new self.class.get("/#{api_version}/#{topic_id}", {query: q}).parsed_response end |
#insights(contains_all, date_range = nil, fields = []) ⇒ Object
51 52 53 54 |
# File 'lib/facebook_topics/api.rb', line 51 def insights(contains_all, date_range = nil, fields = []) q = {contains_all: [contains_all], fields: fields.flatten.uniq.join(',')} Insights.new self.class.get("/#{api_version}/topic_insights", {query: q}).parsed_response end |
#quick(topic, fields = [], options = {}) ⇒ Object
31 32 33 34 |
# File 'lib/facebook_topics/api.rb', line 31 def quick(topic, fields = [], = {}) topic_id = search(topic, fields).first.id feeds(topic_id, fields, ) end |
#search(query, fields = []) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/facebook_topics/api.rb', line 20 def search(query, fields = []) q = {q: query, type: 'topic'} q.merge!(fields: fields.join(',')) unless fields.empty? TopicCollection.new self.class.get("/#{api_version}/search", {query: q})["data"] end |