authlogic_rpx 1.1.1 → 1.2.0
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/CHANGELOG.rdoc +45 -38
- data/MIT-LICENSE +20 -20
- data/Manifest +37 -37
- data/README.rdoc +751 -747
- data/Rakefile +54 -47
- data/authlogic_rpx.gemspec +101 -38
- data/generators/add_authlogic_rpx_migration/USAGE +18 -18
- data/generators/add_authlogic_rpx_migration/add_authlogic_rpx_migration_generator.rb +44 -44
- data/generators/add_authlogic_rpx_migration/templates/migration_internal_mapping.rb +34 -34
- data/generators/add_authlogic_rpx_migration/templates/migration_no_mapping.rb +29 -29
- data/lib/authlogic_rpx.rb +8 -8
- data/lib/authlogic_rpx/acts_as_authentic.rb +297 -281
- data/lib/authlogic_rpx/helper.rb +53 -43
- data/lib/authlogic_rpx/rpx_identifier.rb +4 -5
- data/lib/authlogic_rpx/session.rb +224 -218
- data/lib/authlogic_rpx/version.rb +50 -50
- data/test/fixtures/rpxresponses.yml +20 -20
- data/test/fixtures/users.yml +19 -19
- data/test/integration/basic_authentication_and_registration_test.rb +52 -52
- data/test/integration/internal_mapping/basic_authentication_and_registration_test.rb +3 -3
- data/test/integration/internal_mapping/settings_test.rb +9 -9
- data/test/integration/no_mapping/basic_authentication_and_registration_test.rb +3 -3
- data/test/integration/no_mapping/settings_test.rb +9 -9
- data/test/libs/ext_test_unit.rb +30 -30
- data/test/libs/mock_rpx_now.rb +33 -33
- data/test/libs/rails_trickery.rb +40 -40
- data/test/libs/rpxresponse.rb +2 -2
- data/test/libs/user.rb +2 -2
- data/test/libs/user_session.rb +2 -2
- data/test/test_helper.rb +84 -86
- data/test/test_internal_mapping_helper.rb +93 -95
- data/test/unit/acts_as_authentic_settings_test.rb +41 -41
- data/test/unit/session_settings_test.rb +37 -37
- data/test/unit/session_validation_test.rb +15 -15
- data/test/unit/verify_rpx_mock_test.rb +28 -28
- metadata +66 -32
data/Rakefile
CHANGED
@@ -1,48 +1,55 @@
|
|
1
|
-
ENV['RDOCOPT'] = "-S -f html -T hanna"
|
2
|
-
|
3
|
-
require "rubygems"
|
4
|
-
require
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
Rake::TestTask.new(:
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
end
|
36
|
-
|
37
|
-
Rake::TestTask.new(:
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
1
|
+
ENV['RDOCOPT'] = "-S -f html -T hanna"
|
2
|
+
|
3
|
+
require "rubygems"
|
4
|
+
require 'rake'
|
5
|
+
|
6
|
+
require File.dirname(__FILE__) << "/lib/authlogic_rpx/version"
|
7
|
+
|
8
|
+
begin
|
9
|
+
require 'jeweler'
|
10
|
+
Jeweler::Tasks.new do |gem|
|
11
|
+
gem.name = "authlogic_rpx"
|
12
|
+
gem.version = AuthlogicRpx::Version::STRING
|
13
|
+
gem.summary = %Q{Authlogic plug-in for RPX support}
|
14
|
+
gem.description = %Q{Authlogic extension/plugin that provides RPX (rpxnow.com) authentication support}
|
15
|
+
gem.email = "gallagher.paul@gmail.com"
|
16
|
+
gem.homepage = "http://github.com/tardate/authlogic_rpx"
|
17
|
+
gem.authors = [ "Paul Gallagher / tardate <gallagher.paul@gmail.com>" ]
|
18
|
+
gem.add_dependency "authlogic", "= 2.1.6"
|
19
|
+
gem.add_dependency "rpx_now", "= 0.6.23"
|
20
|
+
gem.add_development_dependency "test-unit", ">= 2.1.1"
|
21
|
+
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
22
|
+
end
|
23
|
+
Jeweler::GemcutterTasks.new
|
24
|
+
rescue LoadError
|
25
|
+
puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
|
26
|
+
end
|
27
|
+
|
28
|
+
require 'rake/testtask'
|
29
|
+
|
30
|
+
namespace :test do
|
31
|
+
Rake::TestTask.new(:units) do |t|
|
32
|
+
t.libs << "test/libs"
|
33
|
+
t.pattern = 'test/unit/*test.rb'
|
34
|
+
t.verbose = true
|
35
|
+
end
|
36
|
+
|
37
|
+
Rake::TestTask.new(:no_mapping) do |t|
|
38
|
+
t.libs << "test/libs"
|
39
|
+
t.test_files = FileList.new('test/unit/*test.rb', 'test/integration/no_mapping/*test.rb')
|
40
|
+
t.verbose = true
|
41
|
+
end
|
42
|
+
|
43
|
+
Rake::TestTask.new(:internal_mapping) do |t|
|
44
|
+
t.libs << "test/libs"
|
45
|
+
t.test_files = FileList.new('test/integration/internal_mapping/*test.rb')
|
46
|
+
t.verbose = true
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
task :test do
|
51
|
+
Rake::Task['test:no_mapping'].invoke
|
52
|
+
Rake::Task['test:internal_mapping'].invoke
|
53
|
+
end
|
54
|
+
|
48
55
|
task :default => :test
|
data/authlogic_rpx.gemspec
CHANGED
@@ -1,38 +1,101 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
s.
|
8
|
-
s.
|
9
|
-
|
10
|
-
s.
|
11
|
-
s.
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.
|
16
|
-
|
17
|
-
|
18
|
-
s.
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{authlogic_rpx}
|
8
|
+
s.version = "1.2.0"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Paul Gallagher / tardate <gallagher.paul@gmail.com>"]
|
12
|
+
s.date = %q{2010-09-28}
|
13
|
+
s.description = %q{Authlogic extension/plugin that provides RPX (rpxnow.com) authentication support}
|
14
|
+
s.email = %q{gallagher.paul@gmail.com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"README.rdoc"
|
17
|
+
]
|
18
|
+
s.files = [
|
19
|
+
"CHANGELOG.rdoc",
|
20
|
+
"MIT-LICENSE",
|
21
|
+
"Manifest",
|
22
|
+
"README.rdoc",
|
23
|
+
"Rakefile",
|
24
|
+
"authlogic_rpx.gemspec",
|
25
|
+
"generators/add_authlogic_rpx_migration/USAGE",
|
26
|
+
"generators/add_authlogic_rpx_migration/add_authlogic_rpx_migration_generator.rb",
|
27
|
+
"generators/add_authlogic_rpx_migration/templates/migration_internal_mapping.rb",
|
28
|
+
"generators/add_authlogic_rpx_migration/templates/migration_no_mapping.rb",
|
29
|
+
"init.rb",
|
30
|
+
"lib/authlogic_rpx.rb",
|
31
|
+
"lib/authlogic_rpx/acts_as_authentic.rb",
|
32
|
+
"lib/authlogic_rpx/helper.rb",
|
33
|
+
"lib/authlogic_rpx/rpx_identifier.rb",
|
34
|
+
"lib/authlogic_rpx/session.rb",
|
35
|
+
"lib/authlogic_rpx/version.rb",
|
36
|
+
"rails/init.rb",
|
37
|
+
"test/fixtures/rpxresponses.yml",
|
38
|
+
"test/fixtures/users.yml",
|
39
|
+
"test/integration/basic_authentication_and_registration_test.rb",
|
40
|
+
"test/integration/internal_mapping/basic_authentication_and_registration_test.rb",
|
41
|
+
"test/integration/internal_mapping/settings_test.rb",
|
42
|
+
"test/integration/no_mapping/basic_authentication_and_registration_test.rb",
|
43
|
+
"test/integration/no_mapping/settings_test.rb",
|
44
|
+
"test/libs/ext_test_unit.rb",
|
45
|
+
"test/libs/mock_rpx_now.rb",
|
46
|
+
"test/libs/rails_trickery.rb",
|
47
|
+
"test/libs/rpxresponse.rb",
|
48
|
+
"test/libs/user.rb",
|
49
|
+
"test/libs/user_session.rb",
|
50
|
+
"test/test_helper.rb",
|
51
|
+
"test/test_internal_mapping_helper.rb",
|
52
|
+
"test/unit/acts_as_authentic_settings_test.rb",
|
53
|
+
"test/unit/session_settings_test.rb",
|
54
|
+
"test/unit/session_validation_test.rb",
|
55
|
+
"test/unit/verify_rpx_mock_test.rb"
|
56
|
+
]
|
57
|
+
s.homepage = %q{http://github.com/tardate/authlogic_rpx}
|
58
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
59
|
+
s.require_paths = ["lib"]
|
60
|
+
s.rubygems_version = %q{1.3.7}
|
61
|
+
s.summary = %q{Authlogic plug-in for RPX support}
|
62
|
+
s.test_files = [
|
63
|
+
"test/integration/basic_authentication_and_registration_test.rb",
|
64
|
+
"test/integration/internal_mapping/basic_authentication_and_registration_test.rb",
|
65
|
+
"test/integration/internal_mapping/settings_test.rb",
|
66
|
+
"test/integration/no_mapping/basic_authentication_and_registration_test.rb",
|
67
|
+
"test/integration/no_mapping/settings_test.rb",
|
68
|
+
"test/libs/ext_test_unit.rb",
|
69
|
+
"test/libs/mock_rpx_now.rb",
|
70
|
+
"test/libs/rails_trickery.rb",
|
71
|
+
"test/libs/rpxresponse.rb",
|
72
|
+
"test/libs/user.rb",
|
73
|
+
"test/libs/user_session.rb",
|
74
|
+
"test/test_helper.rb",
|
75
|
+
"test/test_internal_mapping_helper.rb",
|
76
|
+
"test/unit/acts_as_authentic_settings_test.rb",
|
77
|
+
"test/unit/session_settings_test.rb",
|
78
|
+
"test/unit/session_validation_test.rb",
|
79
|
+
"test/unit/verify_rpx_mock_test.rb"
|
80
|
+
]
|
81
|
+
|
82
|
+
if s.respond_to? :specification_version then
|
83
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
84
|
+
s.specification_version = 3
|
85
|
+
|
86
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
87
|
+
s.add_runtime_dependency(%q<authlogic>, ["= 2.1.6"])
|
88
|
+
s.add_runtime_dependency(%q<rpx_now>, ["= 0.6.23"])
|
89
|
+
s.add_development_dependency(%q<test-unit>, [">= 2.1.1"])
|
90
|
+
else
|
91
|
+
s.add_dependency(%q<authlogic>, ["= 2.1.6"])
|
92
|
+
s.add_dependency(%q<rpx_now>, ["= 0.6.23"])
|
93
|
+
s.add_dependency(%q<test-unit>, [">= 2.1.1"])
|
94
|
+
end
|
95
|
+
else
|
96
|
+
s.add_dependency(%q<authlogic>, ["= 2.1.6"])
|
97
|
+
s.add_dependency(%q<rpx_now>, ["= 0.6.23"])
|
98
|
+
s.add_dependency(%q<test-unit>, [">= 2.1.1"])
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
@@ -1,18 +1,18 @@
|
|
1
|
-
Description:
|
2
|
-
ruby script/generate add_authlogic_rpx_migration [mapping:mapping_mode] [user_model:model_name]
|
3
|
-
|
4
|
-
Creates an add_authlogic_rpx_migration file in db/migrate.
|
5
|
-
|
6
|
-
The mapping_mode parameter indicates which style of Authlogic_RPX-supported identity
|
7
|
-
mapping should be used. Allowed values for mapping_mode are:
|
8
|
-
none
|
9
|
-
internal
|
10
|
-
Default mapping_mode is 'internal'
|
11
|
-
|
12
|
-
The user_model parameter specifies the name of the user/member model in your application.
|
13
|
-
Default model_name is 'User'
|
14
|
-
|
15
|
-
e.g. to generate the RPX migration where the user model is called 'Member' and you do not
|
16
|
-
want to support identity mapping:
|
17
|
-
|
18
|
-
ruby script/generate add_authlogic_rpx_migration mapping:none user_model:member
|
1
|
+
Description:
|
2
|
+
ruby script/generate add_authlogic_rpx_migration [mapping:mapping_mode] [user_model:model_name]
|
3
|
+
|
4
|
+
Creates an add_authlogic_rpx_migration file in db/migrate.
|
5
|
+
|
6
|
+
The mapping_mode parameter indicates which style of Authlogic_RPX-supported identity
|
7
|
+
mapping should be used. Allowed values for mapping_mode are:
|
8
|
+
none
|
9
|
+
internal
|
10
|
+
Default mapping_mode is 'internal'
|
11
|
+
|
12
|
+
The user_model parameter specifies the name of the user/member model in your application.
|
13
|
+
Default model_name is 'User'
|
14
|
+
|
15
|
+
e.g. to generate the RPX migration where the user model is called 'Member' and you do not
|
16
|
+
want to support identity mapping:
|
17
|
+
|
18
|
+
ruby script/generate add_authlogic_rpx_migration mapping:none user_model:member
|
@@ -1,44 +1,44 @@
|
|
1
|
-
class AddAuthlogicRpxMigrationGenerator < Rails::Generator::Base
|
2
|
-
def manifest
|
3
|
-
|
4
|
-
record do |m|
|
5
|
-
|
6
|
-
m.migration_template template_name, 'db/migrate', :assigns => {
|
7
|
-
:user_model_base => user_model_base,
|
8
|
-
:user_model => user_model,
|
9
|
-
:user_model_collection => user_model_collection
|
10
|
-
}
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def file_name
|
15
|
-
"add_authlogic_rpx_migration"
|
16
|
-
end
|
17
|
-
|
18
|
-
protected
|
19
|
-
# Override with your own usage banner.
|
20
|
-
def banner
|
21
|
-
"Usage: #{$0} #{spec.name} [options] [mapping:mapping_mode] [user_model:model_name]"
|
22
|
-
end
|
23
|
-
|
24
|
-
attr_writer :params
|
25
|
-
def params
|
26
|
-
@params ||= {"mapping" => "internal", "user_model" => "User"}.merge( Hash[*(@args.collect { |arg| arg.split(":") }.flatten)] )
|
27
|
-
end
|
28
|
-
|
29
|
-
def user_model_base
|
30
|
-
params['user_model'].singularize.downcase
|
31
|
-
end
|
32
|
-
def user_model
|
33
|
-
params['user_model'].singularize.capitalize
|
34
|
-
end
|
35
|
-
def user_model_collection
|
36
|
-
params['user_model'].pluralize.downcase
|
37
|
-
end
|
38
|
-
def mapping
|
39
|
-
params['mapping']
|
40
|
-
end
|
41
|
-
def template_name
|
42
|
-
mapping == 'none' ? 'migration_no_mapping.rb' : 'migration_internal_mapping.rb'
|
43
|
-
end
|
44
|
-
end
|
1
|
+
class AddAuthlogicRpxMigrationGenerator < Rails::Generator::Base
|
2
|
+
def manifest
|
3
|
+
|
4
|
+
record do |m|
|
5
|
+
|
6
|
+
m.migration_template template_name, 'db/migrate', :assigns => {
|
7
|
+
:user_model_base => user_model_base,
|
8
|
+
:user_model => user_model,
|
9
|
+
:user_model_collection => user_model_collection
|
10
|
+
}
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def file_name
|
15
|
+
"add_authlogic_rpx_migration"
|
16
|
+
end
|
17
|
+
|
18
|
+
protected
|
19
|
+
# Override with your own usage banner.
|
20
|
+
def banner
|
21
|
+
"Usage: #{$0} #{spec.name} [options] [mapping:mapping_mode] [user_model:model_name]"
|
22
|
+
end
|
23
|
+
|
24
|
+
attr_writer :params
|
25
|
+
def params
|
26
|
+
@params ||= {"mapping" => "internal", "user_model" => "User"}.merge( Hash[*(@args.collect { |arg| arg.split(":") }.flatten)] )
|
27
|
+
end
|
28
|
+
|
29
|
+
def user_model_base
|
30
|
+
params['user_model'].singularize.downcase
|
31
|
+
end
|
32
|
+
def user_model
|
33
|
+
params['user_model'].singularize.capitalize
|
34
|
+
end
|
35
|
+
def user_model_collection
|
36
|
+
params['user_model'].pluralize.downcase
|
37
|
+
end
|
38
|
+
def mapping
|
39
|
+
params['mapping']
|
40
|
+
end
|
41
|
+
def template_name
|
42
|
+
mapping == 'none' ? 'migration_no_mapping.rb' : 'migration_internal_mapping.rb'
|
43
|
+
end
|
44
|
+
end
|
@@ -1,34 +1,34 @@
|
|
1
|
-
class AddAuthlogicRpxMigration < ActiveRecord::Migration
|
2
|
-
def self.up
|
3
|
-
create_table :rpx_identifiers do |t|
|
4
|
-
t.string :identifier, :null => false
|
5
|
-
t.string :provider_name
|
6
|
-
t.integer :<%= user_model_base %>_id, :null => false
|
7
|
-
t.timestamps
|
8
|
-
end
|
9
|
-
add_index :rpx_identifiers, :identifier, :unique => true, :null => false
|
10
|
-
add_index :rpx_identifiers, :<%= user_model_base %>_id, :unique => false, :null => false
|
11
|
-
|
12
|
-
# == Customisation may be required here ==
|
13
|
-
# You may need to remove database constraints on other fields if they will be unused in the RPX case
|
14
|
-
# (e.g. crypted_password and password_salt to make password authentication optional).
|
15
|
-
# If you are using auto-registration, you must also remove any database constraints for fields that will be automatically mapped
|
16
|
-
# e.g.:
|
17
|
-
#change_column :<%= user_model_collection %>, :crypted_password, :string, :default => nil, :null => true
|
18
|
-
#change_column :<%= user_model_collection %>, :password_salt, :string, :default => nil, :null => true
|
19
|
-
|
20
|
-
end
|
21
|
-
|
22
|
-
def self.down
|
23
|
-
drop_table :rpx_identifiers
|
24
|
-
|
25
|
-
# == Customisation may be required here ==
|
26
|
-
# Restore user model database constraints as appropriate
|
27
|
-
# e.g.:
|
28
|
-
#[:crypted_password, :password_salt].each do |field|
|
29
|
-
# <%= user_model %>.all(:conditions => "#{field} is NULL").each { |user| user.update_attribute(field, "") if user.send(field).nil? }
|
30
|
-
# change_column :<%= user_model_collection %>, field, :string, :default => "", :null => false
|
31
|
-
#end
|
32
|
-
|
33
|
-
end
|
34
|
-
end
|
1
|
+
class AddAuthlogicRpxMigration < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :rpx_identifiers do |t|
|
4
|
+
t.string :identifier, :null => false
|
5
|
+
t.string :provider_name
|
6
|
+
t.integer :<%= user_model_base %>_id, :null => false
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
add_index :rpx_identifiers, :identifier, :unique => true, :null => false
|
10
|
+
add_index :rpx_identifiers, :<%= user_model_base %>_id, :unique => false, :null => false
|
11
|
+
|
12
|
+
# == Customisation may be required here ==
|
13
|
+
# You may need to remove database constraints on other fields if they will be unused in the RPX case
|
14
|
+
# (e.g. crypted_password and password_salt to make password authentication optional).
|
15
|
+
# If you are using auto-registration, you must also remove any database constraints for fields that will be automatically mapped
|
16
|
+
# e.g.:
|
17
|
+
#change_column :<%= user_model_collection %>, :crypted_password, :string, :default => nil, :null => true
|
18
|
+
#change_column :<%= user_model_collection %>, :password_salt, :string, :default => nil, :null => true
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.down
|
23
|
+
drop_table :rpx_identifiers
|
24
|
+
|
25
|
+
# == Customisation may be required here ==
|
26
|
+
# Restore user model database constraints as appropriate
|
27
|
+
# e.g.:
|
28
|
+
#[:crypted_password, :password_salt].each do |field|
|
29
|
+
# <%= user_model %>.all(:conditions => "#{field} is NULL").each { |user| user.update_attribute(field, "") if user.send(field).nil? }
|
30
|
+
# change_column :<%= user_model_collection %>, field, :string, :default => "", :null => false
|
31
|
+
#end
|
32
|
+
|
33
|
+
end
|
34
|
+
end
|
@@ -1,29 +1,29 @@
|
|
1
|
-
class AddAuthlogicRpxMigration < ActiveRecord::Migration
|
2
|
-
|
3
|
-
def self.up
|
4
|
-
add_column :<%= user_model_collection %>, :rpx_identifier, :string
|
5
|
-
add_index :<%= user_model_collection %>, :rpx_identifier
|
6
|
-
|
7
|
-
# == Customisation may be required here ==
|
8
|
-
# You may need to remove database constraints on other fields if they will be unused in the RPX case
|
9
|
-
# (e.g. crypted_password and password_salt to make password authentication optional).
|
10
|
-
# If you are using auto-registration, you must also remove any database constraints for fields that will be automatically mapped
|
11
|
-
# e.g.:
|
12
|
-
#change_column :<%= user_model_collection %>, :crypted_password, :string, :default => nil, :null => true
|
13
|
-
#change_column :<%= user_model_collection %>, :password_salt, :string, :default => nil, :null => true
|
14
|
-
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.down
|
18
|
-
remove_column :<%= user_model_collection %>, :rpx_identifier
|
19
|
-
|
20
|
-
# == Customisation may be required here ==
|
21
|
-
# Restore user model database constraints as appropriate
|
22
|
-
# e.g.:
|
23
|
-
#[:crypted_password, :password_salt].each do |field|
|
24
|
-
# <%= user_model %>.all(:conditions => "#{field} is NULL").each { |user| user.update_attribute(field, "") if user.send(field).nil? }
|
25
|
-
# change_column :<%= user_model_collection %>, field, :string, :default => "", :null => false
|
26
|
-
#end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
1
|
+
class AddAuthlogicRpxMigration < ActiveRecord::Migration
|
2
|
+
|
3
|
+
def self.up
|
4
|
+
add_column :<%= user_model_collection %>, :rpx_identifier, :string
|
5
|
+
add_index :<%= user_model_collection %>, :rpx_identifier
|
6
|
+
|
7
|
+
# == Customisation may be required here ==
|
8
|
+
# You may need to remove database constraints on other fields if they will be unused in the RPX case
|
9
|
+
# (e.g. crypted_password and password_salt to make password authentication optional).
|
10
|
+
# If you are using auto-registration, you must also remove any database constraints for fields that will be automatically mapped
|
11
|
+
# e.g.:
|
12
|
+
#change_column :<%= user_model_collection %>, :crypted_password, :string, :default => nil, :null => true
|
13
|
+
#change_column :<%= user_model_collection %>, :password_salt, :string, :default => nil, :null => true
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.down
|
18
|
+
remove_column :<%= user_model_collection %>, :rpx_identifier
|
19
|
+
|
20
|
+
# == Customisation may be required here ==
|
21
|
+
# Restore user model database constraints as appropriate
|
22
|
+
# e.g.:
|
23
|
+
#[:crypted_password, :password_salt].each do |field|
|
24
|
+
# <%= user_model %>.all(:conditions => "#{field} is NULL").each { |user| user.update_attribute(field, "") if user.send(field).nil? }
|
25
|
+
# change_column :<%= user_model_collection %>, field, :string, :default => "", :null => false
|
26
|
+
#end
|
27
|
+
|
28
|
+
end
|
29
|
+
end
|