activemodel 7.0.3.1 → 7.0.4.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +26 -0
- data/lib/active_model/attribute_methods.rb +1 -1
- data/lib/active_model/gem_version.rb +1 -1
- data/lib/active_model/secure_password.rb +24 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3983f4103ac1a1d31700ef6fb4bfb07f27385b0b31a24b37f4d5a15acfb01cb6
|
4
|
+
data.tar.gz: e3e9c49fccdbf7612c5fed0e4f1f8398e78580f186278061bf13686b3641be1c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ace33926f583026d7440b29c31bf0ed10997f72a1c658e74c0412a919c24fe2412d5afc0247a9c90c9bfe119d1a27934e6281aceeda4727f999a2c9aec8b728b
|
7
|
+
data.tar.gz: fbb3847d966bcf6ecc90facea967d883517759095abe55336d457da72c392103f174fb2b0818e0685ba21755b22017a8b4bc2a06a138fdc4c670989de25abba1
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,29 @@
|
|
1
|
+
## Rails 7.0.4.1 (January 17, 2023) ##
|
2
|
+
|
3
|
+
* No changes.
|
4
|
+
|
5
|
+
|
6
|
+
## Rails 7.0.4 (September 09, 2022) ##
|
7
|
+
|
8
|
+
* Handle name clashes in attribute methods code generation cache.
|
9
|
+
|
10
|
+
When two distinct attribute methods would generate similar names,
|
11
|
+
the first implementation would be incorrectly re-used.
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
class A
|
15
|
+
attribute_method_suffix "_changed?"
|
16
|
+
define_attribute_methods :x
|
17
|
+
end
|
18
|
+
|
19
|
+
class B
|
20
|
+
attribute_method_suffix "?"
|
21
|
+
define_attribute_methods :x_changed
|
22
|
+
end
|
23
|
+
```
|
24
|
+
|
25
|
+
*Jean Boussier*
|
26
|
+
|
1
27
|
## Rails 7.0.3.1 (July 12, 2022) ##
|
2
28
|
|
3
29
|
* No changes.
|
@@ -394,7 +394,7 @@ module ActiveModel
|
|
394
394
|
mangled_name = "__temp__#{name.unpack1("h*")}"
|
395
395
|
end
|
396
396
|
|
397
|
-
code_generator.define_cached_method(name, as: mangled_name, namespace: namespace) do |batch|
|
397
|
+
code_generator.define_cached_method(name, as: mangled_name, namespace: :"#{namespace}_#{target}") do |batch|
|
398
398
|
call_args.map!(&:inspect)
|
399
399
|
call_args << parameters if parameters
|
400
400
|
|
@@ -36,7 +36,9 @@ module ActiveModel
|
|
36
36
|
#
|
37
37
|
# gem 'bcrypt', '~> 3.1.7'
|
38
38
|
#
|
39
|
-
#
|
39
|
+
# ==== Examples
|
40
|
+
#
|
41
|
+
# ===== Using Active Record (which automatically includes ActiveModel::SecurePassword)
|
40
42
|
#
|
41
43
|
# # Schema: User(name:string, password_digest:string, recovery_password_digest:string)
|
42
44
|
# class User < ActiveRecord::Base
|
@@ -58,6 +60,27 @@ module ActiveModel
|
|
58
60
|
# user.authenticate_recovery_password('42password') # => user
|
59
61
|
# User.find_by(name: 'david')&.authenticate('notright') # => false
|
60
62
|
# User.find_by(name: 'david')&.authenticate('mUc3m00RsqyRe') # => user
|
63
|
+
#
|
64
|
+
# ===== Conditionally requiring a password
|
65
|
+
#
|
66
|
+
# class Account
|
67
|
+
# include ActiveModel::SecurePassword
|
68
|
+
#
|
69
|
+
# attr_accessor :is_guest, :password_digest
|
70
|
+
#
|
71
|
+
# has_secure_password
|
72
|
+
#
|
73
|
+
# def errors
|
74
|
+
# super.tap { |errors| errors.delete(:password, :blank) if is_guest }
|
75
|
+
# end
|
76
|
+
# end
|
77
|
+
#
|
78
|
+
# account = Account.new
|
79
|
+
# account.valid? # => false, password required
|
80
|
+
#
|
81
|
+
# account.is_guest = true
|
82
|
+
# account.valid? # => true
|
83
|
+
#
|
61
84
|
def has_secure_password(attribute = :password, validations: true)
|
62
85
|
# Load bcrypt gem only when has_secure_password is used.
|
63
86
|
# This is to avoid ActiveModel (and by extension the entire framework)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activemodel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.0.
|
4
|
+
version: 7.0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Heinemeier Hansson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 7.0.
|
19
|
+
version: 7.0.4.1
|
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
|
-
version: 7.0.
|
26
|
+
version: 7.0.4.1
|
27
27
|
description: A toolkit for building modeling frameworks like Active Record. Rich support
|
28
28
|
for attributes, callbacks, validations, serialization, internationalization, and
|
29
29
|
testing.
|
@@ -107,10 +107,10 @@ licenses:
|
|
107
107
|
- MIT
|
108
108
|
metadata:
|
109
109
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
110
|
-
changelog_uri: https://github.com/rails/rails/blob/v7.0.
|
111
|
-
documentation_uri: https://api.rubyonrails.org/v7.0.
|
110
|
+
changelog_uri: https://github.com/rails/rails/blob/v7.0.4.1/activemodel/CHANGELOG.md
|
111
|
+
documentation_uri: https://api.rubyonrails.org/v7.0.4.1/
|
112
112
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
113
|
-
source_code_uri: https://github.com/rails/rails/tree/v7.0.
|
113
|
+
source_code_uri: https://github.com/rails/rails/tree/v7.0.4.1/activemodel
|
114
114
|
rubygems_mfa_required: 'true'
|
115
115
|
post_install_message:
|
116
116
|
rdoc_options: []
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0'
|
129
129
|
requirements: []
|
130
|
-
rubygems_version: 3.
|
130
|
+
rubygems_version: 3.4.3
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: A toolkit for building modeling frameworks (part of Rails).
|