aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #19857 from sikachu/remove-alias-method-chain-docRafael Mendonça França2015-04-221-0/+3
|\ | | | | Clearify that alias_method_chain is deprecated
| * Clearify that alias_method_chain is deprecatedPrem Sichanugrist2015-04-221-0/+3
| | | | | | | | | | This was not clear on the API documentation that the method was deprecated in a982a42d766169c2170d7f100c2a5ceb5430efb1.
* | Refactor ActiveSupport::Timezone#strptimeAndrew White2015-04-221-28/+35
| | | | | | | | | | Make strptime behave more like parse when components are missing and share behavior between the two methods.
* | Add ActiveSupport::TimeZone#strptime.Paul A Jungwirth2015-04-221-0/+20
|/ | | | This makes it easier to parse user-inputted times as from a given time zone.
* Merge pull request #19819 from gazay/no_fork_issueRafael Mendonça França2015-04-221-4/+4
|\ | | | | MRI compatible code for ActiveSupport::Testing::Isolation::Subprocess
| * MRI compatible code for ActiveSupport::Testing::Isolation::SubprocessAlexey Gaziev2015-04-191-4/+4
| |
* | Merge pull request #19814 from y-yagi/array_inquiryRafael Mendonça França2015-04-191-0/+2
|\ \ | | | | | | add missing require for ArrayInquirer
| * | add missing require for ArrayInquireryuuji.yaginuma2015-04-191-0/+2
| | |
* | | Merge pull request #19799 from yui-knk/fix/wrap_doc2Arthur Nogueira Neves2015-04-191-3/+4
|\ \ \ | |/ / |/| | [ci skip] Fix docs and guide about 'Array.wrap'
| * | [ci skip] Fix docs and guide about 'Array.wrap'yui-knk2015-04-191-3/+4
| |/
* / [ci skip] Replace `list` with `array`yui-knk2015-04-181-1/+1
|/
* Fix typos and improve the documentationJon Atack2015-04-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a squash of the following commits, from first to last: - Fix minor, random things I’ve come across lately that individually did not seem worth making a PR for, so I saved them for one commit. One common error is using “it’s” (which is an abbreviation of “it is”) when the possessive “its” should be used for indicating possession. - Changes include the name of a test, so remove the `[skip ci]` (thanks @senny). - Line wrap the changes at 80 chars and add one more doc fix. - Add a missing line wrap in the Contributing to Ruby on Rails Guide. - Line wrap the `TIP` section in the Contributing to Ruby on Rails Guide as well. Rendering the guide locally with `bundle exec rake guides:generate` did not show any change in on-screen formatting after adding the line wrap. The HTML generated is (extra line added to illustrate where the line wrap takes place): <div class="info"><p>Please squash your commits into a single commit when appropriate. This simplifies future cherry picks and also keeps the git log clean.</p></div> - Squash commits.
* Use #prepend rather than using 2 aliasesYuki Nishijima2015-04-142-42/+36
|
* Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-04-141-1/+1
|\
| * [ci skip] Remove unnecessary `>`yui-knk2015-03-311-1/+1
| |
* | Speedup String#squishojab2015-04-121-2/+1
| |
* | Allow AS::Cache::FileStore#clear without cache directoryKohei Suzuki2015-04-091-0/+1
| | | | | | | | | | | | Currently `Rails.cache.clear` raises Errno::ENOENT if it's run just after cloning a new Rails project. It should succeed without removing files or directories.
* | Avoid to define an initializer after the load_config_initializersRafael Mendonça França2015-04-072-7/+8
| | | | | | | | | | This make the config/initializers run before the railties are loaded what can break some configurations.
* | Merge pull request #19029 from iainbeeston/skipping-undefined-callbacksRafael Mendonça França2015-04-061-5/+13
|\ \ | | | | | | Raise ArgumentError if an unrecognised callback is skipped
| * | Raise ArgumentError if an unrecognised callback is skippedIain Beeston2015-04-031-5/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present, if you skip a callback that hasn't been defined, activesupport callbacks silently does nothing. However, it's easy to mistype the name of a callback and mistakenly think that it's being skipped, when it is not. This problem even exists in the current test suite. CallbacksTest::SkipCallbacksTest#test_skip_person attempts to skip callbacks that were never set up. This PR changes `skip_callback` to raise an `ArgumentError` if the specified callback cannot be found.
* | | Merge pull request #19448 from tgxworld/fix_activesupport_callbacks_clash_on_runRafael Mendonça França2015-04-061-12/+4
|\ \ \ | |/ / |/| | Fix AS::Callbacks raising an error when `:run` callback is defined.
| * | Revert "Reduce allocations when running AR callbacks."Guo Xiang Tan2015-03-221-12/+4
| | | | | | | | | | | | This reverts commit 796cab45561fce268aa74e6587cdb9cae3bb243e.
* | | Freeze static arguments for gsubbrainopia2015-04-025-6/+6
| | |
* | | Prefer string patterns for gsubbrainopia2015-04-025-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://github.com/ruby/ruby/pull/579 - there is a new optimization since ruby 2.2 Previously regexp patterns were faster (since a string was converted to regexp underneath anyway). But now string patterns are faster and better reflect the purpose. Benchmark.ips do |bm| bm.report('regexp') { 'this is ::a random string'.gsub(/::/, '/') } bm.report('string') { 'this is ::a random string'.gsub('::', '/') } bm.compare! end # string: 753724.4 i/s # regexp: 501443.1 i/s - 1.50x slower
* | | Only coerce time when comparing if necessaryAaron Jensen2015-03-311-2/+4
| | | | | | | | | | | | | | | | | | In dev, ActiveSupport::FileUpdateChecker#max_mtime triggers many time comparisons. Time#to_time is quite a bit slower than not doing it, so we should avoid it if possible.
* | | [ci skip] Replace `query methods` with `a predicate`yui-knk2015-03-311-1/+1
| | |
* | | Fix doc: set_callback also accepts an array of if:claudiob2015-03-311-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When Active Record calls `set_callback` inside `after_commit`, [these lines of code](https://github.com/rails/rails/blob/master/activerecord/lib/active_record/transactions.rb#L276) pass an **array** of methods as the `:if` condition: ```ruby options[:if] = Array(options[:if]) options[:if] << "transaction_include_any_action?(#{fire_on})" ``` That made me realize that anyone could pass an **array** of `:if` and `:unless` conditions to `set_callback`, since Active Support transforms these conditions into an array anyways in [these lines of code](https://github.com/rails/rails/blob/master/activesupport/lib/active_support/callbacks.rb#L365): ```ruby @if = Array(options[:if]) @unless = Array(options[:unless]) ``` Long story short, this commit updates the documentation of the `set_callback` method to explain that arrays are also accepted. It also replaces +false+ and +true+ with false and true, since any _falsey_ or _truthy_ value will work. [ci skip]
* | | Revert "Remove Array#inquiry"Rafael Mendonça França2015-03-302-0/+16
| | | | | | | | | | | | | | | | | | This reverts commit 9420de59f5b7f5ceac77e28e6c326ec145f71f80. Reason: Turns out we want to keep this method.
* | | Remove circular requireRafael Mendonça França2015-03-272-4/+0
| | |
* | | Remove Array#inquiryRafael Mendonça França2015-03-272-16/+0
| | | | | | | | | | | | | | | We are promoting too much a feature that will not be widler used. So for now lets keep just the ArrayInquirer constructor.
* | | Merge pull request #18939 from georgeclaghorn/variant-inquiryRafael Mendonça França2015-03-274-0/+55
|\ \ \ | | | | | | | | | | | | Provide friendlier access to request variants
| * | | Add ActiveSupport::ArrayInquirer and Array#inquiryGeorge Claghorn2015-03-244-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrapping an array in an `ArrayInquirer` gives a friendlier way to check its string-like contents. For example, `request.variant` returns an `ArrayInquirer` object. To check a request's variants, you can call: request.variant.phone? request.variant.any?(:phone, :tablet) ...instead of: request.variant.include?(:phone) request.variant.any? { |v| v.in?([:phone, :tablet]) } `Array#inquiry` is a shortcut for wrapping the receiving array in an `ArrayInquirer`: pets = [:cat, :dog] pets.cat? # => true pets.ferret? # => false pets.any?(:cat, :ferret} # => true
* | | | Missing require 'active_support/deprecation'Akira Matsuda2015-03-273-0/+5
| |_|/ |/| |
* | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2015-03-261-1/+1
|\ \ \ | | | | | | | | | | | | | | | | Conflicts: guides/source/4_0_release_notes.md
| * | | [ci skip] Add space after erb block.yui-knk2015-03-121-1/+1
| | | |
* | | | Update ActiveSupport::Subscriber docsScott Walkinshaw2015-03-241-7/+2
| |/ / |/| | | | | For consistency purposes with the changes done in https://github.com/rails/rails/pull/12285
* | | Fix incorrect description for `assert_nothing_raised`.Guo Xiang Tan2015-03-241-1/+1
| | |
* | | Merge pull request #19485 from tgxworld/small_doc_fixRafael Mendonça França2015-03-241-1/+1
|\ \ \ | | | | | | | | Small doc fix. [CI SKIP]
| * | | Small doc fix. [CI SKIP]Guo Xiang Tan2015-03-241-1/+1
| | | |
* | | | Make sure Array#to_sentence always returns a StringDavid Cornu2015-03-231-1/+1
|/ / /
* | | Remove alias for `i_suck_and_my_tests_are_order_dependent`.Guo Xiang Tan2015-03-241-2/+0
| | |
* | | Add documentation for Duration#to_i for clarificationnerdinand2015-03-231-0/+24
| | |
* | | Remove reference to Numeric#from_now, as it is no longer supportednerdinand2015-03-232-30/+0
| | |
* | | Deprecate alias_method_chain in favour of Module#prependKir Shatrov2015-03-224-11/+19
| |/ |/| | | …as discussed #19413
* | Mark some constants as nodoc and remove unneeded namespaceRafael Mendonça França2015-03-202-12/+10
| |
* | Use Module#prepend instead of alias_method_chainKir Shatrov2015-03-202-20/+22
| | | | | | | | | | | | | | Thanks @fbernier for suggestion! <3 At this moment we can use Module#prepend in all all cases except of Range because of the bug [1] in MRI 2.2 [1] https://bugs.ruby-lang.org/issues/10847
* | Merge pull request #19296 from Wildebeest/fix-race-ttlRafael Mendonça França2015-03-171-2/+2
|\ \ | | | | | | Skip the `:race_condition_ttl` branch if the option is 0 or nil.
| * | Skip the `:race_condition_ttl` branch if the option is 0 or nil. This fixes ↵Matt Wilde2015-03-111-2/+2
| | | | | | | | | | | | an issue with the redis cache, where this code will sometimes throw an error out of SETEX when passing 0 as the `expires_at`.
* | | add `DateTime.now` to list of `TimeHelpers#travel_to` stubbing [ci skip]yuuji.yaginuma2015-03-121-9/+11
|/ /
* | Revert "Take DST into account when locating TimeZone from Numeric."Andrew White2015-03-091-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverting this as it's not the implementation that we would like it to be. This is being used inside of ActiveSUpport::TimeZone[] and it's unaware of the context in which to find the timezone period so the timezone found changes depending on whether DST is in effect for the current period. This means that `'2001-01-01'.in_time_zone(-9)` changes from winter/summer even though it's the same date that we're trying to convert. Since finding timezones by numeric offsets is a bit hit and miss we should introduce a new API for finding them which supplies the date context in which we want to search and we should probably also deprecate the finding of timezones via the [] method, though this needs further discussion. This reverts commit 2cc2fa3633edd96773023c6b09d07c7b9d9b841d.