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