activemodel 6.1.0 → 6.1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +25 -0
- data/README.rdoc +1 -1
- data/lib/active_model/attribute.rb +4 -4
- data/lib/active_model/callbacks.rb +1 -1
- data/lib/active_model/error.rb +3 -3
- data/lib/active_model/errors.rb +1 -1
- data/lib/active_model/gem_version.rb +2 -2
- data/lib/active_model/validations/callbacks.rb +15 -15
- data/lib/active_model/validations/numericality.rb +7 -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: 48c98dc404f7f57a4e1b769f556d65147d7426978e984fdec45d8832959287ab
|
4
|
+
data.tar.gz: fff7c4b09436b27bc351f01a242102be258a22f64eabfc4c8c3dbb5d0c636885
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ba6a5b3501620c02cec932c330f3b37529f201de1198b6c258a6bb5bba79043942636971319210235e29d59d6012bfb82aad10cb17b854410014ff018e33d8b2
|
7
|
+
data.tar.gz: 2a8eb8bec3075d986e2d65eddf24ec089ceceb88d45894a5e238816865893021ab27f97487294c020a3fedb5d80a99d812ad88a5b0cc2d52d241872d6ec4f941
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,28 @@
|
|
1
|
+
## Rails 6.1.3.1 (March 26, 2021) ##
|
2
|
+
|
3
|
+
* No changes.
|
4
|
+
|
5
|
+
|
6
|
+
## Rails 6.1.3 (February 17, 2021) ##
|
7
|
+
|
8
|
+
* No changes.
|
9
|
+
|
10
|
+
|
11
|
+
## Rails 6.1.2.1 (February 10, 2021) ##
|
12
|
+
|
13
|
+
* No changes.
|
14
|
+
|
15
|
+
|
16
|
+
## Rails 6.1.2 (February 09, 2021) ##
|
17
|
+
|
18
|
+
* No changes.
|
19
|
+
|
20
|
+
|
21
|
+
## Rails 6.1.1 (January 07, 2021) ##
|
22
|
+
|
23
|
+
* No changes.
|
24
|
+
|
25
|
+
|
1
26
|
## Rails 6.1.0 (December 09, 2020) ##
|
2
27
|
|
3
28
|
* Pass in `base` instead of `base_class` to Error.human_attribute_name
|
data/README.rdoc
CHANGED
@@ -241,7 +241,7 @@ The latest version of Active Model can be installed with RubyGems:
|
|
241
241
|
|
242
242
|
Source code can be downloaded as part of the Rails project on GitHub
|
243
243
|
|
244
|
-
* https://github.com/rails/rails/tree/
|
244
|
+
* https://github.com/rails/rails/tree/main/activemodel
|
245
245
|
|
246
246
|
|
247
247
|
== License
|
@@ -164,10 +164,10 @@ module ActiveModel
|
|
164
164
|
type.deserialize(value)
|
165
165
|
end
|
166
166
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
167
|
+
private
|
168
|
+
def _original_value_for_database
|
169
|
+
value_before_type_cast
|
170
|
+
end
|
171
171
|
end
|
172
172
|
|
173
173
|
class FromUser < Attribute # :nodoc:
|
@@ -147,7 +147,7 @@ module ActiveModel
|
|
147
147
|
conditional = ActiveSupport::Callbacks::Conditionals::Value.new { |v|
|
148
148
|
v != false
|
149
149
|
}
|
150
|
-
options[:if] = Array(options[:if])
|
150
|
+
options[:if] = Array(options[:if]) + [conditional]
|
151
151
|
set_callback(:"#{callback}", :after, *args, options, &block)
|
152
152
|
end
|
153
153
|
end
|
data/lib/active_model/error.rb
CHANGED
@@ -119,11 +119,11 @@ module ActiveModel
|
|
119
119
|
attr_reader :base
|
120
120
|
# The attribute of +base+ which the error belongs to
|
121
121
|
attr_reader :attribute
|
122
|
-
# The type of error, defaults to
|
122
|
+
# The type of error, defaults to +:invalid+ unless specified
|
123
123
|
attr_reader :type
|
124
|
-
# The raw value provided as the second parameter when calling
|
124
|
+
# The raw value provided as the second parameter when calling +errors#add+
|
125
125
|
attr_reader :raw_type
|
126
|
-
# The options provided when calling
|
126
|
+
# The options provided when calling +errors#add+
|
127
127
|
attr_reader :options
|
128
128
|
|
129
129
|
# Returns the error message.
|
data/lib/active_model/errors.rb
CHANGED
@@ -110,7 +110,7 @@ module ActiveModel
|
|
110
110
|
# Imports one error
|
111
111
|
# Imported errors are wrapped as a NestedError,
|
112
112
|
# providing access to original error object.
|
113
|
-
# If attribute or type needs to be overridden, use
|
113
|
+
# If attribute or type needs to be overridden, use +override_options+.
|
114
114
|
#
|
115
115
|
# override_options - Hash
|
116
116
|
# @option override_options [Symbol] :attribute Override the attribute the error belongs to
|
@@ -56,14 +56,7 @@ module ActiveModel
|
|
56
56
|
def before_validation(*args, &block)
|
57
57
|
options = args.extract_options!
|
58
58
|
|
59
|
-
|
60
|
-
options = options.dup
|
61
|
-
options[:on] = Array(options[:on])
|
62
|
-
options[:if] = Array(options[:if])
|
63
|
-
options[:if].unshift ->(o) {
|
64
|
-
!(options[:on] & Array(o.validation_context)).empty?
|
65
|
-
}
|
66
|
-
end
|
59
|
+
set_options_for_callback(options)
|
67
60
|
|
68
61
|
set_callback(:validation, :before, *args, options, &block)
|
69
62
|
end
|
@@ -99,16 +92,23 @@ module ActiveModel
|
|
99
92
|
options = options.dup
|
100
93
|
options[:prepend] = true
|
101
94
|
|
102
|
-
|
103
|
-
options[:on] = Array(options[:on])
|
104
|
-
options[:if] = Array(options[:if])
|
105
|
-
options[:if].unshift ->(o) {
|
106
|
-
!(options[:on] & Array(o.validation_context)).empty?
|
107
|
-
}
|
108
|
-
end
|
95
|
+
set_options_for_callback(options)
|
109
96
|
|
110
97
|
set_callback(:validation, :after, *args, options, &block)
|
111
98
|
end
|
99
|
+
|
100
|
+
private
|
101
|
+
def set_options_for_callback(options)
|
102
|
+
if options.key?(:on)
|
103
|
+
options[:on] = Array(options[:on])
|
104
|
+
options[:if] = [
|
105
|
+
->(o) {
|
106
|
+
!(options[:on] & Array(o.validation_context)).empty?
|
107
|
+
},
|
108
|
+
*options[:if]
|
109
|
+
]
|
110
|
+
end
|
111
|
+
end
|
112
112
|
end
|
113
113
|
|
114
114
|
private
|
@@ -64,6 +64,8 @@ module ActiveModel
|
|
64
64
|
def parse_as_number(raw_value, precision, scale)
|
65
65
|
if raw_value.is_a?(Float)
|
66
66
|
parse_float(raw_value, precision, scale)
|
67
|
+
elsif raw_value.is_a?(BigDecimal)
|
68
|
+
round(raw_value, scale)
|
67
69
|
elsif raw_value.is_a?(Numeric)
|
68
70
|
raw_value
|
69
71
|
elsif is_integer?(raw_value)
|
@@ -74,7 +76,11 @@ module ActiveModel
|
|
74
76
|
end
|
75
77
|
|
76
78
|
def parse_float(raw_value, precision, scale)
|
77
|
-
(
|
79
|
+
round(raw_value, scale).to_d(precision)
|
80
|
+
end
|
81
|
+
|
82
|
+
def round(raw_value, scale)
|
83
|
+
scale ? raw_value.round(scale) : raw_value
|
78
84
|
end
|
79
85
|
|
80
86
|
def is_number?(raw_value, precision, scale)
|
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: 6.1.
|
4
|
+
version: 6.1.3.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: 2021-03-26 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: 6.1.
|
19
|
+
version: 6.1.3.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: 6.1.
|
26
|
+
version: 6.1.3.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.
|
@@ -104,10 +104,10 @@ licenses:
|
|
104
104
|
- MIT
|
105
105
|
metadata:
|
106
106
|
bug_tracker_uri: https://github.com/rails/rails/issues
|
107
|
-
changelog_uri: https://github.com/rails/rails/blob/v6.1.
|
108
|
-
documentation_uri: https://api.rubyonrails.org/v6.1.
|
107
|
+
changelog_uri: https://github.com/rails/rails/blob/v6.1.3.1/activemodel/CHANGELOG.md
|
108
|
+
documentation_uri: https://api.rubyonrails.org/v6.1.3.1/
|
109
109
|
mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
|
110
|
-
source_code_uri: https://github.com/rails/rails/tree/v6.1.
|
110
|
+
source_code_uri: https://github.com/rails/rails/tree/v6.1.3.1/activemodel
|
111
111
|
post_install_message:
|
112
112
|
rdoc_options: []
|
113
113
|
require_paths:
|
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
requirements: []
|
126
|
-
rubygems_version: 3.1.
|
126
|
+
rubygems_version: 3.1.2
|
127
127
|
signing_key:
|
128
128
|
specification_version: 4
|
129
129
|
summary: A toolkit for building modeling frameworks (part of Rails).
|