devise_facebook_connectable 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -23,11 +23,11 @@ begin
23
23
 
24
24
  gemspec.require_paths = %w{lib}
25
25
  gemspec.files = SUPPORT_FILES << %w(Rakefile) <<
26
- Dir.glob(File.join(*%w[{assets,lib} ** *]).to_s)
26
+ Dir.glob(File.join(*%w[{generators,lib} ** *]).to_s)
27
27
  gemspec.extra_rdoc_files = SUPPORT_FILES
28
28
 
29
29
  gemspec.add_dependency 'activesupport', '>= 2.3.0'
30
- gemspec.add_dependency 'devise', '>= 0.7.0'
30
+ gemspec.add_dependency 'devise', '>= 0.7.1'
31
31
  gemspec.add_dependency 'facebooker', '>= 1.0.55'
32
32
  end
33
33
  Jeweler::GemcutterTasks.new
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+
3
+ class DeviseFacebookConnectableGenerator < Rails::Generator::Base
4
+
5
+ def manifest
6
+ record do |m|
7
+ m.dependency 'xd_receiver', [], options.merge(:collision => :skip)
8
+ m.template 'facebooker.yml', File.join(*%w[config facebooker.yml])
9
+ m.template 'devise.facebook_connectable.js', File.join(*%w[public javascripts devise.facebook_connectable.js])
10
+ end
11
+ end
12
+
13
+ end
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Helpers for devise_facebook_connectable, to make connect/login/logout with Devise seamless.
3
+ */
4
+
5
+ if (typeof devise === 'undefined' || devise === null) {
6
+ devise = {};
7
+ }
8
+
9
+ if (typeof devise.facebook_connectable === 'undefined' || devise.facebook_connectable === null) {
10
+ devise.facebook_connectable = {};
11
+ }
12
+
13
+ devise.facebook_connectable.login = function fb_connect_login() {
14
+ document.getElementById('fb_connect_login_form').submit();
15
+ return false;
16
+ };
17
+
18
+ devise.facebook_connectable.custom_login = function fb_connect_custom_login() {
19
+ FB.Connect.requireSession(fb_connect_login);
20
+ return false;
21
+ };
22
+
23
+ devise.facebook_connectable.logout = function fb_connect_logout() {
24
+ document.getElementById('fb_connect_logout_form').submit();
25
+ return false;
26
+ };
27
+
28
+ devise.facebook_connectable.custom_logout = function fb_connect_custom_logout() {
29
+ FB.Connect.logout(fb_connect_logout);
30
+ return false;
31
+ };
@@ -0,0 +1,28 @@
1
+ defaults: &defaults
2
+ api_key: YOUR_APP_API_KEY
3
+ secret_key: YOUR_APP_SECRET_KEY
4
+ canvas_page_name: YOUR_APP_CANVAS_NAME
5
+ callback_url: http://localhost:3000 # for testing - depends on your Facebook App settings though.
6
+ pretty_errors: true
7
+ set_asset_host_to_callback_url: false
8
+ tunnel:
9
+ public_host_username:
10
+ public_host:
11
+ public_port: 4007
12
+ local_port: 3000
13
+
14
+ development:
15
+ <<: *defaults
16
+
17
+ test: &test
18
+ <<: *defaults
19
+
20
+ cucumber:
21
+ <<: *test
22
+
23
+ production: &production
24
+ <<: *defaults
25
+
26
+ staging:
27
+ <<: *production
28
+
@@ -40,7 +40,26 @@ module Devise
40
40
  end
41
41
  end
42
42
 
43
- # Ugly hack, but needed now.
43
+ # Load core I18n locales: en
44
44
  #
45
- Devise::STRATEGIES.unshift :facebook_connectable
46
- Devise::SERIALIZERS.unshift :facebook_connectable
45
+ I18n.load_path.unshift File.expand_path(File.join(File.dirname(__FILE__), *%w[devise_facebook_connectable locales en.yml]))
46
+
47
+ # Add +:facebook_connectable+ serializers and strategies to defaults.
48
+ #
49
+ Devise.setup do |config|
50
+ config.warden do |manager|
51
+ manager.default_strategies.unshift :facebook_connectable
52
+ manager.default_serializers.unshift :facebook_connectable
53
+ end
54
+ end
55
+
56
+ # Override to get Devise to get that SessionsController should be used for both
57
+ # :facebook_connectable and :authenticatable. Controller-logic is the same.
58
+ #
59
+ Devise::Mapping.class_eval do
60
+
61
+ def allows?(controller)
62
+ (self.for & [Devise::CONTROLLERS[controller.to_sym], :facebook_connectable].flatten).present?
63
+ end
64
+
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise_facebook_connectable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Grimfelt
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-08 00:00:00 +01:00
12
+ date: 2009-12-09 00:00:00 +01:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.7.0
33
+ version: 0.7.1
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
36
  name: facebooker
@@ -50,6 +50,9 @@ extensions: []
50
50
 
51
51
  extra_rdoc_files:
52
52
  - Rakefile
53
+ - generators/devise_facebook_connectable/devise_facebook_connectable_generator.rb
54
+ - generators/devise_facebook_connectable/templates/devise.facebook_connectable.js
55
+ - generators/devise_facebook_connectable/templates/facebooker.yml
53
56
  - lib/devise_facebook_connectable.rb
54
57
  - lib/devise_facebook_connectable/controller_filters.rb
55
58
  - lib/devise_facebook_connectable/locales/en.yml
@@ -61,6 +64,9 @@ extra_rdoc_files:
61
64
  - lib/devise_facebook_connectable/view_helpers.rb
62
65
  files:
63
66
  - Rakefile
67
+ - generators/devise_facebook_connectable/devise_facebook_connectable_generator.rb
68
+ - generators/devise_facebook_connectable/templates/devise.facebook_connectable.js
69
+ - generators/devise_facebook_connectable/templates/facebooker.yml
64
70
  - lib/devise_facebook_connectable.rb
65
71
  - lib/devise_facebook_connectable/controller_filters.rb
66
72
  - lib/devise_facebook_connectable/locales/en.yml