aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Don't inherit from Concurrent::CountDownLatchMatthew Draper2016-03-111-5/+12
| | | | | | | | | | | That class mangles .new, which interferes with our deprecation warning. More generally, it suggests we shouldn't be subclassing without a very good reason, and avoiding one allocation doesn't seem to meet that criteria. In passing, recommend the simpler Concurrent::Event for the common count=1 case.
* friendly error message if missing listenJerry Cheung2016-03-081-1/+7
|
* Prevent nested ExecutionWrapper calls even when using run! directlyMatthew Draper2016-03-042-9/+16
|
* Fix `ActiveSupport::Reloader.check!`Ryuta Kamizono2016-03-021-4/+3
| | | | | The test failure in `bug_report_templates/action_controller_master.rb` is due to `app.reloader.check` is `nil`.
* Merge pull request #23936 from yui-knk/local_constants_to_be_publicRafael Mendonça França2016-03-012-2/+6
|\ | | | | | | Deprecate `Module.local_constants`
| * Deprecate `Module.local_constants`yui-knk2016-03-012-2/+6
| | | | | | | | | | After Ruby 1.9, we can easily get the constants that have been defined locally by `Module.constants(false)`.
* | Publish AS::Executor and AS::Reloader APIsMatthew Draper2016-03-028-10/+214
|/ | | | | | These should allow external code to run blocks of user code to do "work", at a similar unit size to a web request, without needing to get intimate with ActionDipatch.
* Prep release for Rails 5 beta3eileencodes2016-02-241-1/+1
|
* :bomb: run the test @rafaelfranca :angry:Rafael Mendonça França2016-02-241-1/+1
|
* Make internal class as nodocRafael Mendonça França2016-02-241-2/+2
| | | | Also use the new hash syntax.
* Merge pull request #23616 from piotrj/issue_23609_logger_broadcast_silencingRafael Mendonça França2016-02-243-21/+42
|\ | | | | | | Fix logger silencing for broadcasted loggers
| * Fix logger silencing for broadcasted loggersPiotr Jakubowski2016-02-113-21/+42
| | | | | | | | | | | | | | | | | | | | | | Fix #23609 Commit 629efb6 introduced thread safety to logger silencing but it didn't take into account the fact that the logger can be extended with broadcasting to other logger. This commit introduces local_level to broadcasting Module which enables broadcasted loggers to be properly silenced.
* | Ignore callstacks from Ruby stdlib in deprecationRafael Mendonça França2016-02-241-4/+12
| | | | | | | | Fixes #22982.
* | Fix `assert_nothing_raised` deprecation warning formatRyuta Kamizono2016-02-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before: ``` DEPRECATION WARNING: Passing arguments to assert_nothing_raised is deprecated and will be removed in Rails 5.1. ``` After: ``` DEPRECATION WARNING: Passing arguments to assert_nothing_raised is deprecated and will be removed in Rails 5.1. ```
* | add deprecation warning to assert_nothing_raised and changelog entryTara Scherner de la Fuente2016-02-221-1/+5
| |
* | remove args from assert_nothing_raised in testsTara Scherner de la Fuente2016-02-221-1/+1
| |
* | Merge pull request #23785 from eval/correct-types-examplesVipul A M2016-02-222-108/+108
|\ \ | | | | | | Show correct return types for examples
| * | Show correct return types for examples [ci skip]Gert Goet2016-02-202-108/+108
| | |
* | | Merge pull request #23695 from kaspth/remove-automatic-collection-cachingKasper Timm Hansen2016-02-202-32/+17
|\ \ \ | | | | | | | | Make collection caching explicit.
| * | | Revert "Instrument read_multi".Kasper Timm Hansen2016-02-202-32/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reevaluating the log output generated from this instrumentation, we've found that it wasn't all that useful in practice. ``` Caches multi read: - views/david/2/4184ab71db6849621a4d8820fcd2c0ad - views/david/2/4184ab71db6849621a4d8820fcd2c0ad - views/david/3/4184ab71db6849621a4d8820fcd2c0ad - views/david/3/4184ab71db6849621a4d8820fcd2c0ad ``` If rendering many templates the output is inscrutable, and it's impossible to see how many cache misses there were. Revert ca6aba7f30 and implement a better way later.
* | | | Make benchmark('something', silence: true) actually workDavid Heinemeier Hansson2016-02-201-1/+1
| |/ / |/| |
* | | Dependencies clean upSruli Rapps2016-02-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleans up four items I came across in ActiveSupport::Dependencies: - DependenciesTest# test_dependency_which_raises_exception_isnt_added_to_loaded_set: Fixes current implementation which will pass no matter what since the filepath is never added to "loaded" or "history" without being expanded first. - Remove DependenciesTest#test_unhook. Seems leftover from when alias_method_chain was used in Loadable and ModuleConstMissing. The test will always pass since Module never responds to those methods - WatchStack#new_constants documentation: update self to @stack. Looks like self was leftover from when WatchStack inherited from Hash - Remove ActiveSupport namespace from call to Dependencies.constant_watch_stack.watching? since the namespace is not needed, Dependencies is called two other times in the same method without it (even on the same line) and it brings the line to within 80 characters
* | | better docs for ActiveSupport::TestCase#assert_nothing_raisedTara Scherner de la Fuente2016-02-181-2/+5
|/ /
* | Missing documentation about hash algorithm option for MessageVerifier [ci skip]Mehmet Emin İNAÇ2016-02-181-0/+6
| |
* | Add `#on_weekday?` method to `Date`, `Time`, and `DateTime`.Vipul A M2016-02-151-0/+5
| |
* | Merge pull request #23596 from afn/issue-23058Aaron Patterson2016-02-101-1/+1
|\ \ | | | | | | Converting backtrace to strings before calling set_backtrace
| * | Converting backtrace to strings before calling set_backtraceTony Novak2016-02-101-1/+1
| | | | | | | | | | | | Fixes #23058
* | | rename to 'second_to_last' and 'third_to_last'Brian Christian2016-02-101-4/+4
| | |
* | | allow Array.penultimate and Array.antepenultiate access methodsBrian Christian2016-02-091-0/+14
|/ /
* | drop array allocations on `html_safe`Aaron Patterson2016-02-081-1/+1
| | | | | | | | | | | | | | | | For better or worse, anonymous `*` args will allocate arrays. Ideally, the interpreter would optimize away this allocation. However, given the number of times we call `html_safe` it seems worth the shedding idealism and going for performance. This line was the top allocation spot for a scaffold (and presumably worse on real applications).
* | Merge pull request #23532 from matthewd/live-interlockMatthew Draper2016-02-082-25/+57
|\ \ | | | | | | Hand off the interlock to the new thread in AC::Live
| * | Manual yield doesn't block new sharesMatthew Draper2016-02-081-5/+6
| | |
| * | Eagerly reacquire when start_sharing is nested inside yield_sharesMatthew Draper2016-02-081-11/+18
| | | | | | | | | | | | A full write-preferring wait can lead to deadlock.
| * | Hand off the interlock to the new thread in AC::LiveMatthew Draper2016-02-072-15/+39
| | | | | | | | | | | | | | | | | | Most importantly, the original request thread must yield its share lock while waiting for the live thread to commit -- otherwise a request's base and live threads can deadlock against each other.
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2016-02-071-2/+2
|\ \ \ | |/ / |/| |
| * | [ci skip] Fix one more typoPrathamesh Sonpatki2016-01-301-1/+1
| | | | | | | | | | | | - Followup of https://github.com/rails/docrails/commit/10bc49710b7205a6172c3e072b3c77114fefd952
| * | [ci skip] Fix typoyui-knk2016-01-271-1/+1
| | |
* | | Merge pull request #23473 from gsamokovarov/kernel-module-functionRafael França2016-02-042-0/+4
|\ \ \ | |_|/ |/| | Don't publicize Kernel core extensions
| * | Don't publicize Kernel core extensionsGenadi Samokovarov2016-02-042-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a reaction to a [bug] we hit in web-console. The cause of it was a `Kernel` extension called `#console` that was public and was fighting over Railties with console block to be run on `rails console`. We solved it by making the method private. We did that through `module_function` so `::Kernel.console` can be invoked even in `BasicObject`. I'm proposing to make most of the core Active Support `Kernel` extensions `module_function` as well. Those are currently public and we are polluting every `Object` public interface with them. ```ruby >> Object.new.respond_to? :silence_warnings => true >> Object.new.respond_to? :with_warnings => true >> Object.new.respond_to? :enable_warnings => true >> Object.new.respond_to? :suppress => true `` Some extensions like `Kernel#class_eval` should be public, but most of them don't really need to be. [bug]: https://github.com/rails/web-console/issues/184
* | | Fix regression in `Hash#dig` for HashWithIndifferentAccess.Jon Moss2016-02-011-3/+7
| | |
* | | Preparing for Rails 5.0.0.beta2Sean Griffin2016-02-011-1/+1
| | |
* | | After completing a load, give other threads a chance tooMatthew Draper2016-02-022-15/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | While we know no user code is running, we should do as much loading as we can. That way, all the threads will then be able to resume running user code together. Otherwise, only the last arriving thread would get to do its load, and would then return to userspace, leaving the others still blocked.
* | | While new sharers are blocked, an existing sharer remains re-entrantMatthew Draper2016-02-021-1/+1
| | |
* | | Block new share attempts if there's an exclusive waiterMatthew Draper2016-02-021-8/+12
| | |
* | | Fix broken number_to_currency testsPrathamesh Sonpatki2016-01-291-0/+2
| | |
* | | Change number_to_currency behavior for checking negativityPrathamesh Sonpatki2016-01-291-5/+1
|/ / | | | | | | | | | | | | | | | | | | | | - Instead of using `to_f.phase`, just use `to_f.negative`?. - This change works same for all cases except when number is "-0.0". -0.0.to_f.negative? => false -0.0.to_f.phase? => pi - So -0.0 will be treated as positive from now onwards. - So this change reverts changes from https://github.com/rails/rails/pull/6512. - But it should be acceptable as we could not find any currency which supports negative zeros.
* | :arrow_left: indentationAkira Matsuda2016-01-281-2/+2
| | | | | | | | [ci-skip]
* | Merge branch '5-0-beta-sec'Aaron Patterson2016-01-253-3/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 5-0-beta-sec: bumping version fix version update task to deal with .beta1.1 Eliminate instance level writers for class accessors allow :file to be outside rails root, but anything else must be inside the rails view directory Don't short-circuit reject_if proc stop caching mime types globally use secure string comparisons for basic auth username / password
| * | bumping versionAaron Patterson2016-01-251-1/+1
| | |
| * | Eliminate instance level writers for class accessorsAaron Patterson2016-01-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Instance level writers can have an impact on how the Active Model / Record objects are saved. Specifically, they can be used to bypass validations. This is a problem if mass assignment protection is disabled and specific attributes are passed to the constructor. CVE-2016-0753