class Contentful::Social::FacebookHandler

Attributes

contentful[R]
facebook[R]
template[R]
webhook[R]

Public Class Methods

new(facebook_config, contentful_client, webhook) click to toggle source
# File lib/contentful/social/facebook_handler.rb, line 8
def initialize(facebook_config, contentful_client, webhook)
  @template = facebook_config.template
  @post_to = facebook_config.post_to || 'me'

  @webhook = webhook
  @contentful = contentful_client
  @facebook = create_facebook_client(facebook_config)
end

Public Instance Methods

post() click to toggle source
# File lib/contentful/social/facebook_handler.rb, line 17
def post
  body = ::Contentful::Social::Template.new(
    contentful,
    webhook,
    template
  ).render

  facebook.put_connections(@post_to, 'feed', message: body)
end

Private Instance Methods

create_facebook_client(facebook_config) click to toggle source
# File lib/contentful/social/facebook_handler.rb, line 29
def create_facebook_client(facebook_config)
  Koala.config.api_version = 'v2.6'
  ::Koala::Facebook::API.new(
    facebook_config.access_token,
    facebook_config.app_secret
  )
end