devise_facebook_connectable 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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