aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
Commit message (Collapse)AuthorAgeFilesLines
* Add `#on_weekday?` method to `Date`, `Time`, and `DateTime`.Vipul A M2016-02-153-0/+23
|
* Merge pull request #23596 from afn/issue-23058Aaron Patterson2016-02-102-3/+3
|\ | | | | Converting backtrace to strings before calling set_backtrace
| * Converting backtrace to strings before calling set_backtraceTony Novak2016-02-102-3/+3
| | | | | | | | Fixes #23058
* | include activerecord and activesupport CHANGELOG entriesBrian Christian2016-02-101-0/+4
| |
* | rename to 'second_to_last' and 'third_to_last'Brian Christian2016-02-102-6/+6
| |
* | allow Array.penultimate and Array.antepenultiate access methodsBrian Christian2016-02-092-0/+16
|/
* 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-083-25/+224
|\ | | | | Hand off the interlock to the new thread in AC::Live
| * Manual yield doesn't block new sharesMatthew Draper2016-02-081-5/+6
| |
| * Test the happy path for recursive yields tooMatthew Draper2016-02-081-0/+35
| |
| * Fix a nonsensical ShareLock test.thedarkone2016-02-071-22/+21
| |
| * Eagerly reacquire when start_sharing is nested inside yield_sharesMatthew Draper2016-02-081-11/+18
| | | | | | | | A full write-preferring wait can lead to deadlock.
| * AS::Conc::ShareLock#yield_shares tests.thedarkone2016-02-071-0/+107
| |
| * Hand off the interlock to the new thread in AC::LiveMatthew Draper2016-02-073-15/+65
| | | | | | | | | | | | 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
* | | Remove unused dependencyMike Perham2016-02-031-1/+0
| | | | | | | | | railties uses method_source, activesupport does not. I assume code was refactored and the dependency wasn't removed.
* | | Remove json gem dependencyMike Perham2016-02-031-1/+0
| | | | | | | | | All modern Rubies ship JSON as part of stdlib. Using the gem actually hurts multi-platform support due to build difficulties on Windows.
* | | Fix regression in `Hash#dig` for HashWithIndifferentAccess.Jon Moss2016-02-013-3/+16
| | |
* | | Add some Action Cable CHANGELOG entriesRafael Mendonça França2016-02-011-3/+0
| | | | | | | | | | | | | | | | | | And improve changelongs. [ci skip]
* | | Preparing for Rails 5.0.0.beta2Sean Griffin2016-02-012-1/+6
| | |
* | | Merge pull request #23398 from matthewd/interlockMatthew Draper2016-02-023-22/+118
|\ \ \ | | | | | | | | Address remaining known issues in Interlock
| * | | After completing a load, give other threads a chance tooMatthew Draper2016-02-023-15/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-022-1/+30
| | | |
| * | | Block new share attempts if there's an exclusive waiterMatthew Draper2016-02-022-8/+44
| | | |
* | | | [ci skip] Properly indent code in markdownclaudiob2016-02-011-29/+29
|/ / / | | | | | | | | | [ci skip]
* | | Wrangle the asset build into something that sounds more generalMatthew Draper2016-02-011-0/+4
| | |
* | | Fix broken number_to_currency testsPrathamesh Sonpatki2016-01-291-0/+2
| | |
* | | Change number_to_currency behavior for checking negativityPrathamesh Sonpatki2016-01-293-6/+16
|/ / | | | | | | | | | | | | | | | | | | | | - 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
| * | use secure string comparisons for basic auth username / passwordAaron Patterson2016-01-221-0/+7
| | | | | | | | | | | | | | | | | | this will avoid timing attacks against applications that use basic auth. CVE-2015-7576
* | | Fix nodoc to internal class error document some of themVipul A M2016-01-253-0/+5
| | | | | | | | | | | | | | | | | | | | | [ci skip] Fixes #20808 [Vipul A M & Julio Lopez]
* | | Put test-case dependent helper Class inside the test caseAkira Matsuda2016-01-243-39/+39
| | | | | | | | | | | | This fixes :warning: previous definition of download was here
* | | :warning: mismatched indentations at 'end' with 'unless'Akira Matsuda2016-01-242-4/+4
| | |
* | | Test files has to be named *_test.rbAkira Matsuda2016-01-242-0/+0
| | |
* | | Document scoping issue with Time.use_zoneAndrew White2016-01-231-1/+17
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Time.use_zone method will only affect ActiveSupport::TimeWithZone instances created inside of the block passed to Time.use_zone. This could be confusing when fetching a model and then reading the attribute before the block and it not changing afterwards because Active Record caches the conversion from the database value. Since changing the behavior of Active Record to recreate the value on every attribute read is an expensive operation the best we can do is to document the issue. Fixes #23195. [ci skip]
* | Merge pull request #22278 from poporul/masterGodfrey Chan2016-01-152-6/+14
|\ \ | | | | | | Allow to store .keep file in cache directory
| * | Allow to store .keep file in cache directoryAlexey Pokhozhaev2015-11-132-6/+14
| | |
* | | Update deprecation_horizon to 5.1 from 5.0 [ci skip]Ryuta Kamizono2016-01-141-3/+3
| | |
* | | docs, formatting pass over changelogs. [ci skip]Yves Senn2016-01-131-3/+5
| | |
* | | Extract line filtering to Railties.Kasper Timm Hansen2016-01-092-64/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The line filter parsing added to ActiveSupport::TestCase is only half the story to enable line filtering. The other half, of adding the patterns to the options, is done in the Minitest plugin that Railties has. Thus it makes more sense to have the filter in Railties with the other half and all the line filtering tests. Move the filter and extend Active Support in an initializer, so that when users or `rails/all.rb` require `rails/test_unit/railtie` we can still filter by line.
* | | Match HashWithIndifferentAccess#default's behaviour with Hash#defaultDavid Cornu2016-01-073-8/+24
| | |
* | | Remove unused instance variableschneems2016-01-061-1/+0
| | |
* | | [close #22917] Don't output to `STDOUT` twiceschneems2016-01-062-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When `rails console` or `rails server` are used along with a logger set to output to `STDOUT` then the contents will show up twice. This happens because the logger is extended with `ActiveSupportLogger.broadcast` with a destination of STDOUT even if it is already outputting to `STDOUT`. Previously PR #22592 attempted to fix this issue, but it ended up causing NoMethodErrors. A better approach than relying on adding a method and flow control is to inspect the log destination directly. For this `ActiveSupport::Logger.logger_outputs_to?` was introduced ```ruby logger = Logger.new(STDOUT) ActiveSupport::Logger.logger_outputs_to?(logger, STDOUT) # => true ``` To accomplish this we must look inside of an instance variable of standard lib's Logger `@logdev`. There is a related Ruby proposal to expose this method in a standard way: https://bugs.ruby-lang.org/issues/11955