Skip to content

Commit

Permalink
Moved things around some more for abstracting the adapter
Browse files Browse the repository at this point in the history
  • Loading branch information
james2m committed Jan 5, 2011
1 parent 01500f9 commit 19c2c1e
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 46 deletions.
3 changes: 2 additions & 1 deletion lib/authlogic_facebook_koala.rb
Expand Up @@ -8,7 +8,8 @@
require 'authlogic_facebook_koala/session/config'
require 'authlogic_facebook_koala/session/adapter'
require 'authlogic_facebook_koala/session/facebook'
require 'authlogic_facebook_koala/session/base'
require 'authlogic_facebook_koala/session'
require 'authlogic_facebook_koala/helper'
Authlogic::Session::Base.send :include, AuthlogicFacebookKoala::Session
ActiveRecord::Base.send :include, AuthlogicFacebookKoala::ActsAsAuthentic
end
12 changes: 12 additions & 0 deletions lib/authlogic_facebook_koala/session.rb
@@ -0,0 +1,12 @@
module AuthlogicFacebookKoala
module Session

def self.included(klass)
klass.extend Session::Config
klass.send(:include, Session::Adapter)
klass.send(:include, Session::Facebook)
end

end
end

36 changes: 1 addition & 35 deletions lib/authlogic_facebook_koala/session/adapter.rb
@@ -1,35 +1 @@
module AuthlogicFacebookKoala
module Session
module Adapter

def facebook_session
@facebook_session ||= begin
if controller.cookies.has_key?("fbs_#{facebook_app_id}")
oauth = Koala::Facebook::OAuth.new(facebook_app_id, facebook_secret_key)
if oauth.respond_to?(:get_user_info_from_cookie)
user_info = oauth.get_user_info_from_cookie(controller.cookies)
else
user_info = oauth.get_user_from_cookie(controller.cookies)
end
OpenStruct.new( user_info )
end
end
end

def facebook_session?
!facebook_session.nil?
end

def facebook_user
@facebook_user ||= begin
facebook_graph = Koala::Facebook::GraphAPI.new(facebook_session.access_token)
user = facebook_graph.get_object('me')
user[:uid] = user.delete('id')
OpenStruct.new( user )
end if facebook_session?
end

end
end
end

require File.expand_path('adapters/koala_adapter', File.dirname(__FILE__)) if defined?(Koala)
35 changes: 35 additions & 0 deletions lib/authlogic_facebook_koala/session/adapters/koala_adapter.rb
@@ -0,0 +1,35 @@
module AuthlogicFacebookKoala
module Session
module Adapter

def facebook_session
@facebook_session ||= begin
if controller.cookies.has_key?("fbs_#{facebook_app_id}")
oauth = Koala::Facebook::OAuth.new(facebook_app_id, facebook_secret_key)
if oauth.respond_to?(:get_user_info_from_cookie)
user_info = oauth.get_user_info_from_cookie(controller.cookies)
else
user_info = oauth.get_user_from_cookie(controller.cookies)
end
OpenStruct.new( user_info )
end
end
end

def facebook_session?
!facebook_session.nil?
end

def facebook_user
@facebook_user ||= begin
facebook_graph = Koala::Facebook::GraphAPI.new(facebook_session.access_token)
user = facebook_graph.get_object('me')
user[:uid] = user.delete('id')
OpenStruct.new( user )
end if facebook_session?
end

end
end
end

10 changes: 0 additions & 10 deletions lib/authlogic_facebook_koala/session/base.rb

This file was deleted.

0 comments on commit 19c2c1e

Please sign in to comment.