aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix `singleton_class?`Vipul A M2013-10-151-2/+5
| | | | | Due to changes from http://bugs.ruby-lang.org/projects/ruby-trunk/repository/revisions/39628 current `singleton_class?` implementation fails. Changed based on reference from http://bugs.ruby-lang.org/issues/7609
* Revert "Merge pull request #12480 from iwiznia/master"Jeremy Kemper2013-10-111-20/+0
| | | | | This reverts commit e5f5a838b96a362534d9bb60d02334439ed9784c, reversing changes made to d7567f3290a50952494e9213556a1f283a6cf3a0.
* flatten and flatten! methods for ActiveSupport::DurationIonatan Wiznia2013-10-111-0/+20
|
* revises the docs of require_dependency [ci skip]Xavier Noria2013-10-011-1/+9
|
* Merge pull request #12412 from bf4/allow_pathname_for_require_dependencyXavier Noria2013-09-301-1/+3
|\ | | | | Allow Pathname for require dependency
| * require_dependency should allow Pathname-like objects, not just StringBenjamin Fleischer2013-09-301-1/+3
| |
* | Fix small typo in docsJonathan Baudanza2013-09-251-1/+1
| |
* | Fix typo in number_to_human docs: you -> yourMac Martine2013-09-241-1/+1
| |
* | Merge pull request #11474 from bogdan/time-with-zone-succAndrew White2013-09-222-0/+25
|\ \ | | | | | | Prevent server blow up when iterating over TimeWithZone Range
| * | Disable ability to iterate over a Range of TimeWithZoneBogdan Gusiev2013-07-192-0/+25
| | |
* | | Merge pull request #12285 from dasch/dasch/allow-attaching-up-frontJosé Valim2013-09-201-2/+25
|\ \ \ | | | | | | | | Allow attaching to AS::Notifications namespace up front
| * | | Allow attaching to AS::Notifications namespace up frontDaniel Schierbeck2013-09-201-2/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before, you were required to attach *after* adding the methods to the class, since the attachment process needed the methods to be present. With this change, any new method will also be attached to the configured namespace.
* | | | Initializing Codepoint object with default valuesHitendra Singh2013-09-201-0/+7
| | | |
* | | | Drying up method_missing codeHitendra Singh2013-09-201-2/+1
|/ / /
* | | Merge pull request #12196 from h-lame/fix-activesupport-cache-filestore-cleanupRafael Mendonça França2013-09-121-1/+2
|\ \ \ | | | | | | | | Fix FileStore#cleanup to no longer rely on missing each_key method
| * | | Fix FileStore#cleanup to no longer rely on missing each_key methodMurray Steele2013-09-111-1/+2
| | | |
* | | | Enabled quirks mode on JSON.parse, fixes broken test in af9caaeGodfrey Chan2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out that ActionPack depends on the decoder to parse JSON "fragments" (e.g. '"a string"', '1', 'null', etc), so we need to enable quirks mode on JSON.parse. Also added coverage on the decoder side to prevent regression.
* | | | Replace JSON.load with JSON.parse, also removed the proc parameterGodfrey Chan2013-09-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we are dealing with untrusted user input, we should not be using JSON.load. According to the docs[1]: BEWARE: This method is meant to serialise data from trusted user input, like from your own database server or clients under your control, it could be dangerous to allow untrusted users to pass JSON sources into it. The default options for the parser can be changed via the ::load_default_options method. [1] http://www.ruby-doc.org/stdlib-2.0/libdoc/json/rdoc/JSON.html#method-i-load
* | | | Merge pull request #12200 from dchelimsky/simplify-duration-inspect-even-moreRafael Mendonça França2013-09-111-6/+4
|\ \ \ \ | |/ / / |/| | | Reduce Duration#inspect to a single series of transformations
| * | | Reduce Duration#inspect to a single series of transformationsDavid Chelimsky2013-09-111-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * eliminates need for temp Hash Also added a couple of examples to DurationTest to specify: * duration can be defined with units out of order e.g. 1.month + 1.year + 1.second + 1.day * equality with a Fixnum works regardless of which operand is on which side of the operator
* | | | Fixes typo in Object#try!Jay Hayes2013-09-101-1/+1
| | | |
* | | | Fix typo in set_callback docs. [ci skip]Gilad Zohari2013-09-061-1/+1
| | | |
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-08-311-1/+1
|\ \ \ \
| * | | | Fix doc for singularize - `pluralized` => `singularized`Vipul A M2013-08-271-1/+1
| | | | |
* | | | | Remove gist link from the codeRafael Mendonça França2013-08-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not good to include links in the code. These links can be in the future outdated and nobody will upgrade they. [ci skip]
* | | | | Ensure all-caps nested consts marked as autoloadedSimon Coffey2013-08-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, an autoloaded constant `HTML::SomeClass` would not be marked as autoloaded by AS::Dependencies. This is because the `#loadable_constants_for_path` method uses `String#camelize` on the inferred file path, which in turn means that, unless otherwise directed, AS::Dependencies watches for loaded constants in the `Html` namespace. By passing the original qualified constant name to `#load_or_require`, this inference step is avoided, and the new constant is picked up in the correct namespace.
* | | | | Changing deprecation_horizon to be Rails 4.2wangjohn2013-08-241-1/+1
| |/ / / |/| | | | | | | | | | | | | | | Also, +ActiveRecord::Migrator.proper_table_name+ should actually have a deprecation horizon of Rails 4.2 (not 4.1).
* | | | Merge pull request #11850 from razielgn/mod-delegation-backtraceRafael Mendonça França2013-08-211-2/+1
|\ \ \ \ | | | | | | | | | | Generalize backtrace check on DelegationError.
| * | | | Rely on NoMethodError#name when deciding to raise DelegationError.Federico Ravasio2013-08-121-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different Ruby implementations present backtraces differently, as it should be an information consumed by humans. A better implementation should use data from the error, in this case returned by NoMethodError#name. Fixes issues with Rubinius, which presents backtraces differently from MRI.
* | | | | ensure freeze on Thread freezes localsNick Howard2013-08-191-0/+5
| | | | |
* | | | | oops, I missed this in 7193f75Guillermo Iguaran2013-08-181-1/+1
| | | | |
* | | | | duration is called multiple times in dev, so lets cache itAaron Patterson2013-08-181-1/+2
| | | | |
* | | | | Rename @locals to @_locals in Thread to avoid conflict with Rubinius. Closes ↵Guillermo Iguaran2013-08-181-7/+7
| |/ / / |/| | | | | | | | | | | #11831
* | | | Merge branch 'master' of github.com:rails/docrailsVijay Dev2013-08-173-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: actionview/README.rdoc activerecord/lib/active_record/migration.rb guides/source/development_dependencies_install.md guides/source/getting_started.md
| * | | | Revert "Merge branch 'master' of github.com:rails/docrails"Vijay Dev2013-08-173-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 70d6e16fbad75b89dd1798ed697e7732b8606fa3, reversing changes made to ea4db3bc078fb3093ecdddffdf4f2f4ff3e1e8f9. Seems to be a code merge done by mistake.
| * | | | Revert "Removing obsolete html tags in favor of markdown code block"Avner Cohen2013-08-061-1/+1
| | | | | | | | | | | | | | | | | | | | This reverts commit 157dc275da0ad38635337b7c1d96de656d91de8e.
| * | | | Removing obsolete html tags in favor of markdown code block.Avner Cohen2013-08-061-1/+1
| | | | |
* | | | | Fixed grammar error in ordered_options documention.Dustin Lam2013-08-171-1/+1
| | | | |
* | | | | Typo Fix[ci skip]Rashmi Yadav2013-08-141-3/+3
| | | | |
* | | | | Add String#remove(pattern) as a short-hand for the common pattern of ↵David Heinemeier Hansson2013-08-131-0/+10
| | | | | | | | | | | | | | | | | | | | String#gsub(pattern, '')
* | | | | renames the :abort deprecation behaviour to :raiseXavier Noria2013-08-131-2/+2
| | | | | | | | | | | | | | | | | | | | That is a better name, thanks @jeremy.
* | | | | defines a new :abort deprecation behaviour that raisesXavier Noria2013-08-131-5/+18
| | | | | | | | | | | | | | | | | | | | See the CHANGELONG message in the patch for further details.
* | | | | Refactor Duration#inspectDavid Chelimsky2013-08-121-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In preparing https://github.com/rails/rails/pull/11855, it took me a minute to understand what was going on due to naming (parts refers first to an attr_accessor, then to a local, and is then reassigned), but also because the iterator conditionally builds nulls and then removes them. I refactored to something much more functional-looking that I find easier to read, but you may or may not. If you do, great! Enjoy! If not, oh well, I tried. Can't win 'em all :) Rationale: * no name conflict between local var and attr_accessor * no reassignment of local var * algorithm spelled out in steps * unused items in initial list filtered out early * empty-list case handled early instead of reassigning local var * no duplication of formatting strings ("0 seconds") Benchmarks (after PR #11855 merged): 10000.times do 1.second.inspect end original #inspect 0.350000 0.000000 0.350000 ( 0.354709) 0.330000 0.000000 0.330000 ( 0.331885) 0.330000 0.000000 0.330000 ( 0.334441) refactored #inspect 0.340000 0.000000 0.340000 ( 0.340080) 0.340000 0.010000 0.350000 ( 0.345069) 0.330000 0.000000 0.330000 ( 0.335873) 10000.times do (1.day + 1.month + 2.minutes + 1.day).inspect end original #inspect 0.400000 0.000000 0.400000 ( 0.403027) 0.400000 0.000000 0.400000 ( 0.403781) 0.390000 0.000000 0.390000 ( 0.387596) refactored #inspect 0.400000 0.010000 0.410000 ( 0.399792) 0.400000 0.000000 0.400000 ( 0.404145) 0.400000 0.000000 0.400000 ( 0.403820)
* | | | | Use chop instead of singularize in Duration#inspectDavid Chelimsky2013-08-121-1/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even though singularize tells a better story, chop is more than 50% faster and is all that is necessary in the case of Duration#inspect, in which all of the candidates for chopping appear in the same method and are all singularized by removing the final 's'. Benchmarks: 10000.times do 1.second.inspect end original #inspect 0.740000 0.000000 0.740000 ( 0.739065) 0.740000 0.000000 0.740000 ( 0.741458) 0.740000 0.010000 0.750000 ( 0.744011) refactored #inspect 0.330000 0.000000 0.330000 ( 0.333390) 0.330000 0.000000 0.330000 ( 0.331013) 0.320000 0.000000 0.320000 ( 0.330103) 10000.times do (1.day + 1.month + 2.minutes + 1.day).inspect end original #inspect 0.790000 0.000000 0.790000 ( 0.794624) 0.770000 0.000000 0.770000 ( 0.774577) 0.770000 0.010000 0.780000 ( 0.771295) refactored #inspect 0.390000 0.000000 0.390000 ( 0.392921) 0.400000 0.000000 0.400000 ( 0.397412) 0.370000 0.000000 0.370000 ( 0.379660)
* | | | No need to use blocks hereAndrew White2013-08-041-11/+9
| | | |
* | | | Fix jruby warning when capture calls unlink on an open tempfileAlex Tambellini2013-08-021-0/+1
| | | | | | | | | | | | | | | | Jruby cannot unlink a tempfile unless it is closed first.
* | | | Fix ActiveSupport::Testing::Isolation on jrubyAlex Tambellini2013-08-021-48/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Hopefully the first of many related to #11700. With these changes the railties tests wont 100% pass but at least they will run and show the errors. The first problem was the @method_name variable was never set. This was causing ENV["ISOLATION_TEST"] to always be nil which would cause the test output to never be written to the tempfile. The second problem was that an invalid -t option was being passed to minitest and minitest was erroring out. The third problem was the run method needs to always return an instance of the test class it is trying to isolate. We were returning a ProxyTestResult instead.
* | | | Refactor Date, Time, DateTime timezone methodsGilad Zohari2013-08-014-59/+47
| | | | | | | | | | | | | | | | | | | | | | | | Similar implementations of #in_time_zone exists for Date, Time and DateTime so method is extracted into its own module. Also some logic is extracted into private method.
* | | | Remove duplication from date_time calculationsGilad Zohari2013-07-311-10/+0
| | | | | | | | | | | | | | | | | | | | | | | | Methods: :past? and :future? are already defined identically in date_and_time/calculations.rb which is included in Date. Because DateTime is a subclass of Date, it can call them.
* | | | Don't have a cow, man!Andrew White2013-07-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove cow => kine from default inflections but leave the test case in place to prevent regression of the [old Trac ticket 4929][1]. [1]: http://web.archive.org/web/20090314050915/http://dev.rubyonrails.org/ticket/4929