• Y
    Suppress `warning: BigDecimal.new is deprecated` in activerecord · 6c6c3fa1
    Yasuo Honda 提交于
    `BigDecimal.new` has been deprecated in BigDecimal 1.3.3
     which will be a default for Ruby 2.5.
    
    Refer https://github.com/ruby/bigdecimal/commit/533737338db915b00dc7168c3602e4b462b23503
    
    ```
    $ cd rails/activerecord/
    $ git grep -l BigDecimal.new | grep \.rb | xargs sed -i -e "s/BigDecimal.new/BigDecimal/g"
    ```
    
    - Changes made only to Active Record. Will apply the same change to
    other module once this commit is merged.
    
    - The following deprecation has not been addressed because it has been
    reported at `ActiveRecord::Result.new`. `ActiveRecord::Result.ancestors`
    did not show `BigDecimal`.
    
    * Not addressed
    
    ```ruby
    /path/to/rails/activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb:34:
    warning: BigDecimal.new is deprecated
    ```
    
    * database_statements.rb:34
    
    ```ruby
    ActiveRecord::Result.new(result.fields, result.to_a) if result
    ```
    
    * ActiveRecord::Result.ancestors
    
    ```ruby
    [ActiveRecord::Result,
     Enumerable,
     ActiveSupport::ToJsonWithActiveSupportEncoder,
     Object,
     Metaclass::ObjectMethods,
     Mocha::ObjectMethods,
     PP::ObjectMixin,
     ActiveSupport::Dependencies::Loadable,
     ActiveSupport::Tryable,
     JSON::Ext::Generator::GeneratorMethods::Object,
     Kernel,
     BasicObject]
    ```
    
    This commit has been tested with these Ruby and BigDecimal versions
    
    - ruby 2.5 and bigdecimal 1.3.3
    
    ```
    $ ruby -v
    ruby 2.5.0dev (2017-12-14 trunk 61217) [x86_64-linux]
    $ gem list |grep bigdecimal
    bigdecimal (default: 1.3.3, default: 1.3.2)
    ```
    
    - ruby 2.4 and bigdecimal 1.3.0
    
    ```
    $ ruby -v
    ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-linux-gnu]
    $ gem list |grep bigdecimal
    bigdecimal (default: 1.3.0)
    ```
    
    - ruby 2.3 and bigdecimal 1.2.8
    
    ```
    $ ruby -v
    ruby 2.3.5p376 (2017-09-14 revision 59905) [x86_64-linux]
    $ gem list |grep -i bigdecimal
    bigdecimal (1.2.8)
    ```
    
    - ruby 2.2 and bigdecimal 1.2.6
    ```
    $ ruby -v
    ruby 2.2.8p477 (2017-09-14 revision 59906) [x86_64-linux]
    $ gem list |grep bigdecimal
    bigdecimal (1.2.6)
    ```
    6c6c3fa1
defaults_test.rb 7.4 KB