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 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).