1. 16 1月, 2018 1 次提交
  2. 15 12月, 2017 29 次提交
  3. 14 12月, 2017 10 次提交
    • E
      Merge pull request #31289 from witlessbird/fips-compatibility · 659c516b
      Eileen M. Uchitelle 提交于
      Initial support for running Rails on FIPS-certified systems
      659c516b
    • E
      Merge pull request #26815 from olivierlacan/log-query-source · 4bd28efc
      Eileen M. Uchitelle 提交于
      Log the original call site for an ActiveRecord query
      4bd28efc
    • R
      Enable `Layout/LeadingCommentSpace` to not allow cosmetic changes in the future · 245c1daf
      Ryuta Kamizono 提交于
      Follow up of #31432.
      245c1daf
    • O
      Provide instant feedback when booting Rails · acc03bb6
      Olivier Lacan 提交于
      I've noticed during pair/mob programming sessions with peers that
      despite the speed boosts provided by Bootsnap and Spring, there is a
      noticeable latency between firing a bin/rails server command and any
      feedback being provided to the console. Depending on the size of the
      application this lack of feedback can make it seem like something is
      wrong when Rails is simply busy initializing.
      
      This change may seem gratuitous but by just printing one line to STDOUT
      we're giving a clear signal to the Rails user that their command has
      been received and that Rails is indeed booting. It almost imperciptibly
      makes Rails feel more responsive.
      
      Sure the code doesn't look very fancy but there's no other appropriate
      place I could think of putting it than boot.rb.
      
      Compare these two GIFs of booting without and with this change:
      
      Before:
      ![Without Boot Feedback](https://user-images.githubusercontent.com/65950/33964140-721041fc-e025-11e7-9b25-9d839ce92977.gif)
      
      After:
      ![With Boot Feedback](https://user-images.githubusercontent.com/65950/33964151-79e12f86-e025-11e7-93e9-7a75c70d408f.gif)
      acc03bb6
    • O
      Log call site for all queries · 3876defd
      Olivier Lacan 提交于
      This new ActiveRecord configuration option allows you to easily
      pinpoint what line of application code is triggering SQL queries in the
      development log by appending below each SQL statement log the line of
      Ruby code that triggered it.
      
      It’s useful with N+1 issues, and to locate stray queries.
      
      By default this new option ignores Rails and Ruby code in order to
      surface only callers from your application Ruby code or your gems.
      
      It is enabled on newly generated Rails 5.2 applications and can be
      enabled on existing Rails applications:
      
      ```ruby
      Rails.application.configure do
        # ...
        config.active_record.verbose_query_logs = true
      end
      ```
      
      The `rails app:upgrade` task will also add it to
      `config/development.rb`.
      
      This feature purposely avoids coupling with
      ActiveSupport::BacktraceCleaner since ActiveRecord can be used without
      ActiveRecord. This decision can be reverted in the future to allow more
      configurable backtraces (the exclusion of gem callers for example).
      3876defd
    • Y
      Use released `resque-scheduler` instead of master version · 65e994c0
      yuuji.yaginuma 提交于
      The v4.3.1 has already released that includes Redis 4.0 support.
      https://github.com/resque/resque-scheduler/blob/master/CHANGELOG.md#431---2017-11-20
      65e994c0
    • R
      Merge pull request #31433 from jordan-brough/preserve-deprecated-method-visibility · afdc6f29
      Rafael França 提交于
      Preserve original method visibility when deprecating a method
      afdc6f29
    • R
      Merge pull request #31435 from yahonda/deprecated_bigdecimal_new · 6464683c
      Rafael França 提交于
      Suppress `warning: BigDecimal.new is deprecated` in activerecord
      6464683c
    • 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
    • J
      Preserve original method visibility when deprecating a method · 9adaf605
      Jordan Brough 提交于
      This commit fixes `deprecate` so that it preserves method visibility (like it
      did previously when it was utilizing `alias_method_chain`).
      
      When Module#prepend replaced alias_method_chain in a982a42d it caused deprecated
      methods to always become public.
      
      `alias_method_chain` had this bit of code:
      https://github.com/rails/rails/blob/v5.0.6/activesupport/lib/active_support/core_ext/module/aliasing.rb#L40-L47
      which preserved method visibility.
      
      Without this fix, a workaround would be:
      
      ```ruby
      class C8
        private
      
        def new_method
        end
      
        def old_method
        end
        deprecate :old_method, :new_method
        # workaround:
        instance_method(:old_method).owner.send(:private, :old_method)
      end
      ```
      
      Because the visibility needs to be fixed on the Module prepended by
      MethodWrapper.
      9adaf605