activemodel 6.1.0 → 6.1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1caa114ce8c604cb9ac388ef4ebbfd796f8ff253799322db9fa714193bca6821
4
- data.tar.gz: 49f8fb7f47a3154022161dee9871d6aba46f7750b3381e690e37d7ff2663ef48
3
+ metadata.gz: 48c98dc404f7f57a4e1b769f556d65147d7426978e984fdec45d8832959287ab
4
+ data.tar.gz: fff7c4b09436b27bc351f01a242102be258a22f64eabfc4c8c3dbb5d0c636885
5
5
  SHA512:
6
- metadata.gz: 26271099e8c36f89e1ee19fcb3469be914240ea887f15aba4d0de79b3db57f17d8467f523010330ba4f70e4df01d14398a6db7687df0a9be674f17ffd284be5d
7
- data.tar.gz: e32d32dac693b8cae0445b2b9634345688b4010ecd4cbda054288934b4d0aeb353486415b55934e2c298fc8ab09655712ede1214e175ef4b67fe8af80926bb86
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/master/activemodel
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
- def _original_value_for_database
168
- value_before_type_cast
169
- end
170
- private :_original_value_for_database
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]) << conditional
150
+ options[:if] = Array(options[:if]) + [conditional]
151
151
  set_callback(:"#{callback}", :after, *args, options, &block)
152
152
  end
153
153
  end
@@ -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 `:invalid` unless specified
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 `errors#add`
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 `errors#add`
126
+ # The options provided when calling +errors#add+
127
127
  attr_reader :options
128
128
 
129
129
  # Returns the error message.
@@ -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 `override_options`.
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
@@ -9,8 +9,8 @@ module ActiveModel
9
9
  module VERSION
10
10
  MAJOR = 6
11
11
  MINOR = 1
12
- TINY = 0
13
- PRE = nil
12
+ TINY = 3
13
+ PRE = "1"
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -56,14 +56,7 @@ module ActiveModel
56
56
  def before_validation(*args, &block)
57
57
  options = args.extract_options!
58
58
 
59
- if options.key?(:on)
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
- if options.key?(:on)
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
- (scale ? raw_value.truncate(scale) : raw_value).to_d(precision)
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.0
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: 2020-12-09 00:00:00.000000000 Z
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.0
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.0
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.0/activemodel/CHANGELOG.md
108
- documentation_uri: https://api.rubyonrails.org/v6.1.0/
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.0/activemodel
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.4
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).