Class: Sensor::Actuator::FacebookRetrieval

Inherits:
Object
  • Object
show all
Defined in:
lib/sensor/actuator/facebook_retrieval.rb

Instance Method Summary collapse

Constructor Details

#initialize(time_range) ⇒ FacebookRetrieval

Returns a new instance of FacebookRetrieval.



5
6
7
# File 'lib/sensor/actuator/facebook_retrieval.rb', line 5

def initialize(time_range)
  @time_range = time_range
end

Instance Method Details

#acquireObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/sensor/actuator/facebook_retrieval.rb', line 9

def acquire
  results = graph.get_object("TheLaunchAcademy")
  likes = results["likes"]
  talking = results["talking_about_count"]
  posts = graph.get_object("TheLaunchAcademy/posts",
    since: format_date(@time_range.start_date),
    until: format_date(@time_range.end_date),
    limit: 200
  )

  post_likes = posts.inject(0) do |post_likes, post|
    if post["likes"] && post["likes"]["data"]
      post_likes += post["likes"]["data"].size
    else
      post_likes
    end
  end

  {
    facebook: {
      likes: likes,
      talking: talking,
      posts: posts.size,
      post_likes: post_likes
    }
  }
end