active_model-session 1.0.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/README.md +2 -1
- data/lib/active_model/session.rb +11 -6
- data/lib/active_model/session/version.rb +1 -1
- data/test/session_with_user_model_test.rb +1 -1
- data/test/session_without_user_model_test.rb +3 -3
- metadata +12 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb37c5a803683c66784ff7c578a9fe27f9a5acb0
|
4
|
+
data.tar.gz: bba585ddd3c4291d080970340d98d0a065b19614
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9d55f68eeca4e52360500aa64d522d55bab96ce624701f73938769d77b179550eaa19dbbe09591f22b9eb286fbd5cd85ccad671b7a7477ba14ac48537ac9cf2
|
7
|
+
data.tar.gz: 96e740e67dc4da347a10ce1516b48708686ea1468309aa73f01bce4aa969b8ad2db87201c943853436603288d6c11232f89fd702b5e9f0b3eec119a814a3dcaa
|
data/README.md
CHANGED
data/lib/active_model/session.rb
CHANGED
@@ -5,20 +5,25 @@ module ActiveModel
|
|
5
5
|
class Session
|
6
6
|
include Model
|
7
7
|
|
8
|
-
attr_accessor :
|
9
|
-
|
8
|
+
attr_accessor :password, :user
|
9
|
+
attr_reader :email
|
10
10
|
|
11
|
-
validates :email, presence: true
|
12
|
-
validate :
|
11
|
+
validates :email, presence: true, if: -> { user.blank? }
|
12
|
+
validate :existence, if: -> { email.present? }
|
13
|
+
validate :authenticity, if: -> { user.present? }
|
13
14
|
delegate :id, :authenticate, to: :user, prefix: true, allow_nil: true
|
14
15
|
|
15
|
-
def
|
16
|
-
|
16
|
+
def email=(email)
|
17
|
+
@email = email
|
17
18
|
@user = User.find_by(email: email)
|
18
19
|
end
|
19
20
|
|
20
21
|
private
|
21
22
|
|
23
|
+
def existence
|
24
|
+
errors.add(:email, :invalid) if user.blank?
|
25
|
+
end
|
26
|
+
|
22
27
|
def authenticity
|
23
28
|
errors.add(:password, :invalid) unless user_authenticate(password)
|
24
29
|
end
|
@@ -47,7 +47,7 @@ class SessionWithUserModelTest < Test::Unit::TestCase
|
|
47
47
|
def test_is_invalid_when_user_does_not_exist
|
48
48
|
@session.email = "non-existing@example.com"
|
49
49
|
assert @session.invalid?
|
50
|
-
assert @session.errors[:
|
50
|
+
assert @session.errors[:email].present?
|
51
51
|
end
|
52
52
|
|
53
53
|
def test_is_invalid_with_incorrect_password
|
@@ -6,7 +6,7 @@ class SessionWithoutUserModelTest < Test::Unit::TestCase
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def test_is_invalid_when_user_model_is_nil
|
9
|
-
session = ActiveModel::Session.new(user: nil,
|
9
|
+
session = ActiveModel::Session.new(user: nil, password: "secret")
|
10
10
|
assert session.invalid?
|
11
11
|
end
|
12
12
|
|
@@ -15,7 +15,7 @@ class SessionWithoutUserModelTest < Test::Unit::TestCase
|
|
15
15
|
def user.authenticate(password)
|
16
16
|
password == "secret"
|
17
17
|
end
|
18
|
-
session = ActiveModel::Session.new(user: user,
|
18
|
+
session = ActiveModel::Session.new(user: user, password: "wrongsecret")
|
19
19
|
assert session.invalid?
|
20
20
|
end
|
21
21
|
|
@@ -24,7 +24,7 @@ class SessionWithoutUserModelTest < Test::Unit::TestCase
|
|
24
24
|
def user.authenticate(password)
|
25
25
|
password == "secret"
|
26
26
|
end
|
27
|
-
session = ActiveModel::Session.new(user: user,
|
27
|
+
session = ActiveModel::Session.new(user: user, password: "secret")
|
28
28
|
assert session.valid?
|
29
29
|
end
|
30
30
|
end
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_model-session
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kuba Kuźma
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-01-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 4.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 4.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
description: Simple session model implemented on top of ActiveModel::Model
|
@@ -59,7 +59,7 @@ executables: []
|
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
61
61
|
files:
|
62
|
-
- .gitignore
|
62
|
+
- ".gitignore"
|
63
63
|
- Gemfile
|
64
64
|
- LICENSE
|
65
65
|
- README.md
|
@@ -80,17 +80,17 @@ require_paths:
|
|
80
80
|
- lib
|
81
81
|
required_ruby_version: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: '0'
|
86
86
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
87
87
|
requirements:
|
88
|
-
- -
|
88
|
+
- - ">="
|
89
89
|
- !ruby/object:Gem::Version
|
90
90
|
version: '0'
|
91
91
|
requirements: []
|
92
92
|
rubyforge_project:
|
93
|
-
rubygems_version: 2.0
|
93
|
+
rubygems_version: 2.2.0
|
94
94
|
signing_key:
|
95
95
|
specification_version: 4
|
96
96
|
summary: Simple session model implemented on top of ActiveModel::Model
|