Sha256: 17c7168c275a5efe7fe0f31c9d9c6b759fa176fee65556a62c832f02dbc23d54

Contents?: true

Size: 946 Bytes

Versions: 1

Compression:

Stored size: 946 Bytes

Contents

require 'koala'

module Silvermoon
  module Notifier
    class Facebook < Base

      def identifier
        :facebook
      end

      def notify(title, content, url, extras = {})
        Rails.logger.info("Notifying Facebook: #{title}, #{content}, #{url}")
        comment = extras.delete(:comment)
        graph.put_wall_post(comment, {:link => url, :description => content, :picture => ''}.reverse_merge(extras), nil, :use_ssl => false)
      end

      def oauth
        @oauth ||= ::Koala::Facebook::OAuth.new(config['app_id'], config['app_secret'])
      end

      def graph
        @graph ||= ::Koala::Facebook::GraphAPI.new(access_token)
      end

      def access_token
        @access_token ||= begin
                            token = oauth.get_app_access_token
                            raise "Cannot obtain access token" unless token
                            token
                          end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
silvermoon-0.1 lib/silvermoon/notifier/facebook.rb