dm-devise 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dm-devise (1.3.0)
5
- devise (~> 1.3.0)
4
+ dm-devise (1.3.1)
5
+ devise (~> 1.3)
6
6
  dm-core (>= 1.0.2, < 1.2)
7
7
  dm-migrations (>= 1.0.2, < 1.2)
8
8
  dm-rails (>= 1.0.3, < 1.2)
@@ -14,39 +14,39 @@ GEM
14
14
  remote: http://rubygems.org/
15
15
  specs:
16
16
  abstract (1.0.0)
17
- actionmailer (3.0.5)
18
- actionpack (= 3.0.5)
19
- mail (~> 2.2.15)
20
- actionpack (3.0.5)
21
- activemodel (= 3.0.5)
22
- activesupport (= 3.0.5)
17
+ actionmailer (3.0.9)
18
+ actionpack (= 3.0.9)
19
+ mail (~> 2.2.19)
20
+ actionpack (3.0.9)
21
+ activemodel (= 3.0.9)
22
+ activesupport (= 3.0.9)
23
23
  builder (~> 2.1.2)
24
24
  erubis (~> 2.6.6)
25
- i18n (~> 0.4)
25
+ i18n (~> 0.5.0)
26
26
  rack (~> 1.2.1)
27
- rack-mount (~> 0.6.13)
27
+ rack-mount (~> 0.6.14)
28
28
  rack-test (~> 0.5.7)
29
29
  tzinfo (~> 0.3.23)
30
- activemodel (3.0.5)
31
- activesupport (= 3.0.5)
30
+ activemodel (3.0.9)
31
+ activesupport (= 3.0.9)
32
32
  builder (~> 2.1.2)
33
- i18n (~> 0.4)
34
- activerecord (3.0.5)
35
- activemodel (= 3.0.5)
36
- activesupport (= 3.0.5)
37
- arel (~> 2.0.2)
33
+ i18n (~> 0.5.0)
34
+ activerecord (3.0.9)
35
+ activemodel (= 3.0.9)
36
+ activesupport (= 3.0.9)
37
+ arel (~> 2.0.10)
38
38
  tzinfo (~> 0.3.23)
39
- activeresource (3.0.5)
40
- activemodel (= 3.0.5)
41
- activesupport (= 3.0.5)
42
- activesupport (3.0.5)
43
- addressable (2.2.4)
44
- arel (2.0.9)
39
+ activeresource (3.0.9)
40
+ activemodel (= 3.0.9)
41
+ activesupport (= 3.0.9)
42
+ activesupport (3.0.9)
43
+ addressable (2.2.6)
44
+ arel (2.0.10)
45
45
  bcrypt-ruby (2.1.4)
46
46
  builder (2.1.2)
47
- data_objects (0.10.3)
47
+ data_objects (0.10.6)
48
48
  addressable (~> 2.1)
49
- devise (1.3.0)
49
+ devise (1.4.0)
50
50
  bcrypt-ruby (~> 2.1.2)
51
51
  orm_adapter (~> 0.0.3)
52
52
  warden (~> 1.0.3)
@@ -76,67 +76,70 @@ GEM
76
76
  dm-core (~> 1.1.0)
77
77
  dm-validations (1.1.0)
78
78
  dm-core (~> 1.1.0)
79
- do_sqlite3 (0.10.3)
80
- data_objects (= 0.10.3)
79
+ do_sqlite3 (0.10.6)
80
+ data_objects (= 0.10.6)
81
81
  erubis (2.6.6)
82
82
  abstract (>= 1.0.0)
83
- faraday (0.5.7)
83
+ faraday (0.6.1)
84
84
  addressable (~> 2.2.4)
85
85
  multipart-post (~> 1.1.0)
86
- rack (>= 1.1.0, < 2)
86
+ rack (< 2, >= 1.1.0)
87
87
  fastercsv (1.5.4)
88
88
  i18n (0.5.0)
89
89
  json (1.4.6)
90
- mail (2.2.15)
90
+ mail (2.2.19)
91
91
  activesupport (>= 2.3.6)
92
92
  i18n (>= 0.4.0)
93
93
  mime-types (~> 1.16)
94
94
  treetop (~> 1.4.8)
95
95
  mime-types (1.16)
96
96
  mocha (0.9.12)
97
- multi_json (0.0.5)
98
- multipart-post (1.1.0)
99
- nokogiri (1.4.4)
100
- oa-core (0.2.0)
101
- rack (~> 1.1)
102
- oa-oauth (0.2.0)
103
- multi_json (~> 0.0.2)
104
- nokogiri (~> 1.4.2)
105
- oa-core (= 0.2.0)
97
+ multi_json (1.0.3)
98
+ multi_xml (0.2.2)
99
+ multipart-post (1.1.2)
100
+ nokogiri (1.4.6)
101
+ oa-core (0.2.6)
102
+ oa-oauth (0.2.6)
103
+ faraday (~> 0.6.1)
104
+ multi_json (~> 1.0.0)
105
+ multi_xml (~> 0.2.2)
106
+ oa-core (= 0.2.6)
106
107
  oauth (~> 0.4.0)
107
- oauth2 (~> 0.1.1)
108
- oa-openid (0.2.0)
109
- oa-core (= 0.2.0)
110
- rack-openid (~> 1.2.0)
111
- ruby-openid-apps-discovery
108
+ oauth2 (~> 0.4.1)
109
+ oa-openid (0.2.6)
110
+ oa-core (= 0.2.6)
111
+ rack-openid (~> 1.3.1)
112
+ ruby-openid-apps-discovery (~> 1.2.0)
112
113
  oauth (0.4.4)
113
- oauth2 (0.1.1)
114
- faraday (~> 0.5.0)
115
- multi_json (~> 0.0.4)
116
- orm_adapter (0.0.4)
114
+ oauth2 (0.4.1)
115
+ faraday (~> 0.6.1)
116
+ multi_json (>= 0.0.5)
117
+ orm_adapter (0.0.5)
117
118
  polyglot (0.3.1)
118
- rack (1.2.2)
119
+ rack (1.2.3)
119
120
  rack-mount (0.6.14)
120
121
  rack (>= 1.0.0)
121
- rack-openid (1.2.0)
122
+ rack-openid (1.3.1)
122
123
  rack (>= 1.1.0)
123
124
  ruby-openid (>= 2.1.8)
124
125
  rack-test (0.5.7)
125
126
  rack (>= 1.0)
126
- rails (3.0.5)
127
- actionmailer (= 3.0.5)
128
- actionpack (= 3.0.5)
129
- activerecord (= 3.0.5)
130
- activeresource (= 3.0.5)
131
- activesupport (= 3.0.5)
127
+ rails (3.0.9)
128
+ actionmailer (= 3.0.9)
129
+ actionpack (= 3.0.9)
130
+ activerecord (= 3.0.9)
131
+ activeresource (= 3.0.9)
132
+ activesupport (= 3.0.9)
132
133
  bundler (~> 1.0)
133
- railties (= 3.0.5)
134
- railties (3.0.5)
135
- actionpack (= 3.0.5)
136
- activesupport (= 3.0.5)
134
+ railties (= 3.0.9)
135
+ railties (3.0.9)
136
+ actionpack (= 3.0.9)
137
+ activesupport (= 3.0.9)
137
138
  rake (>= 0.8.7)
139
+ rdoc (~> 3.4)
138
140
  thor (~> 0.14.4)
139
- rake (0.8.7)
141
+ rake (0.9.2)
142
+ rdoc (3.6.1)
140
143
  require_all (1.2.0)
141
144
  ruby-openid (2.1.8)
142
145
  ruby-openid-apps-discovery (1.2.0)
@@ -147,9 +150,9 @@ GEM
147
150
  thor (0.14.6)
148
151
  treetop (1.4.9)
149
152
  polyglot (>= 0.3.1)
150
- tzinfo (0.3.25)
151
- warden (1.0.3)
152
- rack (>= 1.0.0)
153
+ tzinfo (0.3.28)
154
+ warden (1.0.4)
155
+ rack (>= 1.0)
153
156
  webrat (0.7.2)
154
157
  nokogiri (>= 1.2.0)
155
158
  rack (>= 1.0)
@@ -13,15 +13,15 @@ library you wish to use for validations:
13
13
  The advantage to this is ActiveModel's I18n support for error messages, and
14
14
  it uses the same validations lib as devise does by default.
15
15
 
16
- dm-devise is intended for use with Rails 3 and devise 1.1. It may work with
16
+ dm-devise is intended for use with Rails 3 and devise >= 1.1. It may work with
17
17
  earlier versions, but it's not been tested (if you try, please let Jared Morgan
18
18
  (http://github.com/jm81) know how it goes.)
19
19
 
20
20
  This README only covers dm-devise specifics. Make sure to read the devise
21
21
  README http://github.com/plataformatec/devise/blob/master/README.rdoc
22
22
 
23
- Last tested against devise master: 2011-04-21, commit 64cf8a45347137053b6c91bf85a3542c26e94771
24
- Last tested against devise release 1.3.3
23
+ Last tested against devise master: 2011-06-23, commit dba8f91f99dce0e102ad2e6aa78b142a92833bc3
24
+ Last tested against devise release 1.4.0
25
25
 
26
26
  == Installation
27
27
 
@@ -33,7 +33,7 @@ Add dm-devise and dm gems to your Gemfile. The following gems are required:
33
33
  gem 'dm-timestamps', '~> 1.1.0'
34
34
  gem 'dm-rails', '~> 1.1.0'
35
35
  gem 'dm-validations', '~> 1.1.0' # Do not include if using data_mapper_active_model
36
- gem 'dm-devise', '~> 1.3.1'
36
+ gem 'dm-devise', '~> 1.4.0'
37
37
 
38
38
  If you're using data_mapper_active_model do not include dm-validations in your
39
39
  Gemfile.
@@ -75,7 +75,7 @@ Tests of the master branch should be run against devise master. Tests of the
75
75
  1.1 branch should be run against the devise 1.1 branch (or a 1.1.x gem).
76
76
 
77
77
  == Note on Patches/Pull Requests
78
-
78
+
79
79
  * Fork the project.
80
80
  * Make your feature addition or bug fix.
81
81
  * Add tests for it. This is important so I don't break it in a
@@ -21,6 +21,6 @@ Gem::Specification.new do |s|
21
21
  s.add_dependency('dm-serializer', '>= 1.0.2', '< 1.2')
22
22
  s.add_dependency('dm-timestamps', '>= 1.0.2', '< 1.2')
23
23
  s.add_dependency('dm-rails', '>= 1.0.3', '< 1.2')
24
- s.add_dependency('devise', '~> 1.3.0')
24
+ s.add_dependency('devise', '~> 1.3')
25
25
  s.add_dependency('sugar-high', '~> 0.2.10')
26
26
  end
@@ -52,7 +52,7 @@ module Devise
52
52
  def update_attribute(name, value)
53
53
  update(name => value)
54
54
  end
55
-
55
+
56
56
  def update_attributes(*args)
57
57
  update(*args)
58
58
  end
@@ -60,6 +60,10 @@ module Devise
60
60
  def invalid?
61
61
  !valid?
62
62
  end
63
+
64
+ def email_changed?
65
+ attribute_dirty?(:email)
66
+ end
63
67
  end
64
68
  end
65
69
  end
@@ -1,5 +1,5 @@
1
1
  module DataMapper
2
2
  module Devise
3
- VERSION = '1.3.1'.freeze
3
+ VERSION = '1.4.0'.freeze
4
4
  end
5
5
  end
@@ -64,4 +64,59 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase
64
64
  user.save
65
65
  assert_equal email.downcase, user.email
66
66
  end
67
+
68
+ undef test_should_remove_whitespace_from_strip_whitespace_keys_when_saving
69
+
70
+ test 'should remove whitespace from strip whitespace keys when saving' do
71
+ # strip_whitespace_keys is set to :email by default.
72
+ email = ' foo@bar.com '
73
+ user = new_user(:email => email)
74
+
75
+ assert_equal email, user.email
76
+ user.save
77
+ assert_equal email.strip, user.email
78
+ end
79
+ end
80
+
81
+ class ValidatableTest < ActiveSupport::TestCase
82
+ # user.save! is failing in these tests, since validation are running anyway.
83
+ # See https://github.com/datamapper/dm-validations/pull/13.
84
+
85
+ undef :"test_should_require_uniqueness_of_email_if_email_has_changed,_allowing_blank"
86
+
87
+ test 'should require uniqueness of email if email has changed, allowing blank' do
88
+ existing_user = create_user
89
+
90
+ user = new_user(:email => '')
91
+ assert user.invalid?
92
+ assert_no_match(/taken/, user.errors[:email].join)
93
+
94
+ user.email = existing_user.email
95
+ assert user.invalid?
96
+ assert_match(/taken/, user.errors[:email].join)
97
+
98
+ pending do
99
+ user.save(:validate => false)
100
+ assert user.valid?
101
+ end
102
+ end
103
+
104
+ undef :"test_should_require_correct_email_format_if_email_has_changed,_allowing_blank"
105
+
106
+ test 'should require correct email format if email has changed, allowing blank' do
107
+ user = new_user(:email => '')
108
+ assert user.invalid?
109
+ assert_not_equal 'is invalid', user.errors[:email].join
110
+
111
+ %w(invalid_email_format 123 $$$ \(\) ).each do |email|
112
+ user.email = email
113
+ assert user.invalid?, 'should be invalid with email ' << email
114
+ assert_equal 'is invalid', user.errors[:email].join
115
+ end
116
+
117
+ pending do
118
+ user.save(:validate => false)
119
+ assert user.valid?
120
+ end
121
+ end
67
122
  end
@@ -25,5 +25,13 @@ if DEVISE_ORM == :data_mapper
25
25
  assert_equal 'must be between 6 and 128 characters long', user.errors[:password].join
26
26
  end
27
27
 
28
+ undef test_should_complain_about_length_even_if_possword_is_not_required
29
+
30
+ test 'should complain about length even if possword is not required' do
31
+ user = new_user(:password => 'x'*129, :password_confirmation => 'x'*129)
32
+ user.stubs(:password_required?).returns(false)
33
+ assert user.invalid?
34
+ assert_equal 'must be between 6 and 128 characters long', user.errors[:password].join
35
+ end
28
36
  end
29
37
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dm-devise
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 7
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 3
9
- - 1
10
- version: 1.3.1
8
+ - 4
9
+ - 0
10
+ version: 1.4.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jared Morgan
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-04-21 00:00:00 -05:00
18
+ date: 2011-06-24 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -141,12 +141,11 @@ dependencies:
141
141
  requirements:
142
142
  - - ~>
143
143
  - !ruby/object:Gem::Version
144
- hash: 27
144
+ hash: 9
145
145
  segments:
146
146
  - 1
147
147
  - 3
148
- - 0
149
- version: 1.3.0
148
+ version: "1.3"
150
149
  type: :runtime
151
150
  version_requirements: *id006
152
151
  - !ruby/object:Gem::Dependency