1. 26 2月, 2019 1 次提交
  2. 24 2月, 2019 1 次提交
  3. 22 2月, 2019 1 次提交
  4. 20 2月, 2019 1 次提交
  5. 16 2月, 2019 1 次提交
  6. 15 2月, 2019 2 次提交
    • C
      Fix small typo in docs · 0aebca9f
      Conrad Beach 提交于
      [ci skip]
      0aebca9f
    • X
      Replace autoloader accessors with Rails.autoloaders.{main,once} · 87037791
      Xavier Noria 提交于
      Rails.autoloader and Rails.once_autoloader was just tentative API good
      enough for a first patch. Rails.autoloader is singular and does not
      convey in its name that there is another autoloader. That might be
      confusing, for example if you set a logger and miss traces. On the other
      hand, the name `once_autoloader` is very close to being horrible.
      
      Rails.autoloaders.main and Rails.autoloaders.once read better for my
      taste, and have a nice symmetry. Also, both "main" and "once" are four
      letters long, short and same length.
      
      They are tagged as "rails.main" and "rails.once", respectively.
      
      References #35235.
      87037791
  7. 14 2月, 2019 2 次提交
    • R
      Use Dir#children and Dir#each_child instead of excluding "." and ".." · df29b664
      Ricardo Díaz 提交于
      Both methods were introduced in Ruby 2.5 and fit this use case very
      nicely: listing a directory's entries excluding the "." and ".." nodes.
      
      The private method #exclude_from was removed as it no longer serves
      its original purpose.
      df29b664
    • X
      Refactors a loop · b4dd69e5
      Xavier Noria 提交于
      I believe the current style does not clearly communicate that we are
      ignoring non-existing autoload paths altogether. Your eyes may even be
      looking for an else clause that is easy to miss but that does not exist.
      
      With the early `next` and code comment the loop reads better for my
      taste.
      b4dd69e5
  8. 12 2月, 2019 3 次提交
  9. 09 2月, 2019 3 次提交
  10. 08 2月, 2019 1 次提交
  11. 06 2月, 2019 1 次提交
  12. 02 2月, 2019 2 次提交
    • J
      Keep cache for strings in notifications/fanout · 211222cc
      John Hawthorn 提交于
      When adding/removing a subscription with a string pattern, it isn't
      necessary to clear the entire cache, only the cache for the key being
      added.
      
      When adding/removing subscriptions for a regex or to match all events,
      the full cache is still cleared.
      211222cc
    • J
      Make Notifications::Fanout#listeners_for faster · de13ed9e
      John Hawthorn 提交于
      Previously we stored all subscribers in an array, and every time a new
      message name came in asked each subscriber if they responded to the
      message.
      
      This commit changes Fanout to hash subscribers with a String pattern by
      their pattern. This way we can look them up directly and only do the
      O(N) scan over the non-string (Regex or any) patterns.
      de13ed9e
  13. 31 1月, 2019 1 次提交
    • A
      Remove the Kernel#` override that turns ENOENT into nil · 545b6e58
      Akinori MUSHA 提交于
      ActiveSupport overrides `` Kernel#` `` so that it would not raise
      `Errno::ENOENT` but return `nil` instead (due to the last statement
      `STDERR.puts` returning nil) if a given command were not found.
      Because of this, you cannot safely say somthing like
      `` `command`.chomp `` when ActiveSupport is loaded.
      
      It turns out that this is an outdated monkey patch for Windows
      platforms to emulate Unix behavior on an ancient version of Ruby, and
      it should be removed by now.
      545b6e58
  14. 30 1月, 2019 2 次提交
  15. 19 1月, 2019 1 次提交
  16. 18 1月, 2019 4 次提交
    • K
      No dup nor delete from options · f3dd1791
      Krzysztof Rybka 提交于
      Memory comparison:
      
      Options: {:years=>1, :months=>1, :weeks=>1, :days=>1}
      Calculating -------------------------------------
                    master   576.000  memsize (     0.000  retained)
                               5.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
            advance_no_dup   288.000  memsize (     0.000  retained)
                               4.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
      
      Comparison:
            advance_no_dup:        288 allocated
                    master:        576 allocated - 2.00x more
      
      Options: {:years=>1}
      Calculating -------------------------------------
                    master   264.000  memsize (     0.000  retained)
                               2.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
            advance_no_dup    72.000  memsize (     0.000  retained)
                               1.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
      
      Comparison:
            advance_no_dup:         72 allocated
                    master:        264 allocated - 3.67x more
      
      Options: {:weeks=>1}
      Calculating -------------------------------------
                    master   264.000  memsize (     0.000  retained)
                               2.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
            advance_no_dup    72.000  memsize (     0.000  retained)
                               1.000  objects (     0.000  retained)
                               0.000  strings (     0.000  retained)
      
      Comparison:
            advance_no_dup:         72 allocated
                    master:        264 allocated - 3.67x more
      
      Peformance comparison:
      
      Options: {:years=>1, :months=>1, :weeks=>1, :days=>1}
      Warming up --------------------------------------
                    master    27.740k i/100ms
            advance_no_dup    37.705k i/100ms
      Calculating -------------------------------------
                    master    338.511k (± 5.9%) i/s -      1.692M in   5.020333s
            advance_no_dup    572.980k (± 3.7%) i/s -      2.866M in   5.008680s
      
      Comparison:
            advance_no_dup:   572979.7 i/s
                    master:   338510.9 i/s - 1.69x  slower
      
      Options: {:years=>1}
      Warming up --------------------------------------
                    master    53.313k i/100ms
            advance_no_dup   115.016k i/100ms
      Calculating -------------------------------------
                    master    639.715k (± 1.7%) i/s -      3.199M in   5.001851s
            advance_no_dup      1.579M (± 6.4%) i/s -      7.936M in   5.053876s
      
      Comparison:
            advance_no_dup:  1579251.7 i/s
                    master:   639714.8 i/s - 2.47x  slower
      
      Options: {:weeks=>1}
      Warming up --------------------------------------
                    master    57.353k i/100ms
            advance_no_dup   129.141k i/100ms
      Calculating -------------------------------------
                    master    674.113k (± 3.4%) i/s -      3.384M in   5.025973s
            advance_no_dup      1.911M (± 2.5%) i/s -      9.556M in   5.004496s
      
      Comparison:
            advance_no_dup:  1910739.3 i/s
                    master:   674112.6 i/s - 2.83x  slower
      f3dd1791
    • R
      Remove secret_token rack env and cookie upgrade code · 1a6a3e06
      Rafael Mendonça França 提交于
      Now that secret_token was removed all this code is now dead.
      1a6a3e06
    • R
      6eb1d56a
    • R
  17. 15 1月, 2019 1 次提交
  18. 10 1月, 2019 1 次提交
    • K
      Fix safe_constantize to not raise a LoadError. · a930f5ba
      Keenan Brock 提交于
      ### Summary
      
      There was an issues when using `safe_constantize` on a string that has
      the wrong case.
      
      File `em.rb` defines `EM`.
      `"Em".safe_constantize` causes a little confusion with the autoloader.
      The autoloader finds file "em.rb",
      expecting it to define `Em`, but `Em` is not defined.
      The autoloader raises a `LoadError`, which is good,
      But `safe_constantize` is defined to return `nil` when a class is not found.
      
      ### Before
      
      ```
      "Em".safe_constantize
      LoadError: Unable to autoload constant Em, \
      expected rails/activesupport/test/autoloading_fixtures/em.rb to define it
      ```
      
      ### After
      
      ```
      "Em".safe_constantize
      # => nil
      ```
      a930f5ba
  19. 09 1月, 2019 1 次提交
  20. 05 1月, 2019 2 次提交
    • B
      Clarify `delegate_missing_to` [ci skip] · ee79a842
      bogdanvlviv 提交于
      Since #34864 removed explicit receiver to clarify the
      purpose of `delegate_missing_to`, I think it will be
      better to do the same a few lines above to easier figure
      out that `delegate_missing_to` defines `method_missing`,
      `respond_to_missing?` when comparing these examples.
      ee79a842
    • M
      Clarify benefit of `delegate_missing_to` · 348f8e0c
      Michael Gee 提交于
      Removing the explicit receiver clarifies the purpose of `delegate_missing_to`.
      348f8e0c
  21. 02 1月, 2019 1 次提交
  22. 31 12月, 2018 2 次提交
  23. 27 12月, 2018 1 次提交
  24. 21 12月, 2018 4 次提交