class DailyMenu::Scrapers::Facebook

Public Class Methods

new(user) click to toggle source
# File lib/daily_menu/scrapers/facebook.rb, line 7
def initialize(user)
  @user = user
  @api = Koala::Facebook::API.new(DailyMenu::OAUTH_TOKEN)
end

Public Instance Methods

entries() click to toggle source
# File lib/daily_menu/scrapers/facebook.rb, line 12
def entries
  @api
    .get_connections(user_id, 'feed')
    .select { |feed_item| feed_item['from']['id'] == user_id && feed_item['message'] }
    .map { |entry| Entry.new(strip_content(entry['message']), parse_time(entry['created_time'])) }
rescue Koala::Facebook::ClientError => e
  error = RuntimeError.new(e.message)
  error.set_backtrace(e.backtrace)
  raise error
end

Private Instance Methods

parse_time(time) click to toggle source
# File lib/daily_menu/scrapers/facebook.rb, line 28
def parse_time(time)
  DateTime.parse(time).new_offset(0)
end
strip_content(message) click to toggle source
# File lib/daily_menu/scrapers/facebook.rb, line 33
def strip_content(message)
  message.gsub("\r\n", "\n")
end
user_id() click to toggle source
# File lib/daily_menu/scrapers/facebook.rb, line 23
def user_id
  @user_id ||= @api.get_object(@user)['id']
end