aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #6368 from Antiarchitect/store-indifferent-accessJeremy Kemper2012-05-222-10/+61
|\ | | | | Support migrating from Hash to HashWithIndifferentAccess for accessing attributes.
| * Convert Hash to HashWithIndifferentAccess in ActiveRecord::Store.Andrey Voronkov2012-05-222-10/+61
| | | | | | | | | | | | | | In order to make migration from 3.x apps easier, we should try to convert Hash instances to HashWithIndifferentAccess, to allow accessing values with both symbol and a string. This is follow up to changes in 3c0bf043.
* | Merge pull request #6439 from janx/remove_useless_requireJosé Valim2012-05-222-1/+1
|\ \ | | | | | | refactor lazy_load_hooks load position, fix #6435
| * | refactor lazy_load_hooks load positionJan Xie2012-05-222-1/+1
| | |
* | | Merge pull request #6437 from avakhov/gen-gem-methodJosé Valim2012-05-224-4/+12
|\ \ \ | | | | | | | | Use new hash syntax for generators gem method
| * | | Use new hash syntax for generators gem methodAlexey Vakhov2012-05-224-4/+12
|/ / / | | | | | | | | | | | | | | | The Gemfile of new application uses ruby 1.9 hashes. Gem method of generators should use them too. It prevents from mixing two kinds of syntax in one file.
* | | Merge pull request #6435 from janx/remove_useless_requirePiotr Sarnacki2012-05-221-1/+0
|\| | | | | | | | remove useless require
| * | remove useless requireJan Xie2012-05-221-1/+0
| | |
* | | Use require_dependency in generated controllersPiotr Sarnacki2012-05-223-4/+4
|/ / | | | | | | | | | | | | Using require in development mode will prevent required files from reloading, even if they're changed. In order to keep namespaced application_controller reloadable, we need to use require_dependency instead of require.
* | Merge pull request #6150 from avakhov/dbconsole-fixesPiotr Sarnacki2012-05-214-10/+38
|\ \ | | | | | | Rails db console improvements
| * | Fix `rails db -h` and cosmetic fixes in usage bannersAlexey Vakhov2012-05-224-3/+26
| | | | | | | | | | | | | | | | | | | | | Ruby tries to use '-h' as short version of '--header' by default https://github.com/ruby/ruby/blob/trunk/lib/optparse.rb#L1372-1381. To force `rails db -h` prints an usage message we should add the `-h` options explicitly.
| * | Use relative path to sqlite3 db in `rails db` commandAlexey Vakhov2012-05-222-7/+12
|/ / | | | | | | | | | | | | | | | | | | Rails uses sqlit3 db file with a path relative to the rails root. It allows to execute server not from rails root only. For example you can fire `./spec/dummy/script/rails s` to start dummy application server if you develop some engine gem. Now the `rails db` command uses relative paths also and you can explore your dummy db via `./spec/dummy/script/rails db` command.
* | Merge pull request #6420 from ↵Piotr Sarnacki2012-05-212-1/+13
|\ \ | | | | | | | | | | | | chancancode/master_restore_frozen_state_on_rollback Restore frozen state on rollback, fixes #6417
| * | Restore the frozen state on rollback. Fixes #6417.Godfrey Chan2012-05-212-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, when saving a frozen record, an exception would be thrown which causes a rollback. However, there is a bug in active record that "defrost" the record as a side effect: >> t = Topic.new => #<Topic id: nil, ...> >> t.freeze => #<Topic id: nil, ...> >> t.save RuntimeError: can't modify a frozen Hash >> t.frozen? => false >> t.save => true This patch fixes the bug by explictly restoring the frozen state on the attributes Hash after every rollback.
* | | Merge pull request #5125 from winston/log_exception_when_cache_read_failsMichael Koziarski2012-05-212-1/+11
|\ \ \ | | | | | | | | #read_entry in ActiveSupport::Cache::FileStore should log details of the exception when an exception is thrown
| * | | #read_entry in ActiveSupport::Cache::FileStore should log details of the ↵Winston2012-02-222-1/+11
| | | | | | | | | | | | | | | | exception when an exception is thrown.
* | | | using __method__ for the command method callsAaron Patterson2012-05-212-5/+64
| | | |
* | | | Merge pull request #6429 from marcandre/fix_test_requestCarlos Antonio da Silva2012-05-212-1/+8
|\ \ \ \ | |_|/ / |/| | | Fix bug when Rails.application is defined but is nil. See #881
| * | | Fix bug when Rails.application is defined but is nil. See #881Marc-Andre Lafortune2012-05-212-1/+8
| | | |
* | | | Remove not used variables from connection poll testCarlos Antonio da Silva2012-05-211-2/+2
| | | | | | | | | | | | | | | | These variables were issuing some "not used" warnings.
* | | | Refactor aggregation writer methodCarlos Antonio da Silva2012-05-212-5/+3
| | | | | | | | | | | | | | | | Only constantize class_name once.
* | | | Merge pull request #5156 from avakhov/class-attribute-instance-accessorCarlos Antonio da Silva2012-05-214-4/+14
|\ \ \ \ | |/ / / |/| | | Add instance_accessor option to class_attribute
| * | | Add instance_accessor option to class_attributeAlexey Vakhov2012-05-224-4/+14
|/ / /
* | | Revert "Merge pull request #6425 from pinetops/resolver_concurrency_fix"José Valim2012-05-212-72/+23
| | | | | | | | | | | | | | | This reverts commit 254c04286c5916ae7f91eb6e173b312e7a74e364, reversing changes made to 513a0525c24c2944630acfa465b22cd2f4601adf.
* | | Merge pull request #6425 from pinetops/resolver_concurrency_fixAaron Patterson2012-05-212-23/+72
|\ \ \ | | | | | | | | Resolver concurrency fix
| * | | More granular locking of the Resolver template cacheTom Clarke2012-05-211-5/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to avoid holding a global lock when doing template resolution, instead add individual locks on a per cache entry basis. The global lock is now only used for manipulation of the main cache data structure.
| * | | Make the Resolver template cache threadsafe - closes #6404Tom Clarke2012-05-212-23/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Template cache in the Resolver can be accessed by multiple threads similtaneously in multi-threaded environments. The cache is implemented using a Hash, which isn't threadsafe in all VMs (notably JRuby). This commit extracts the cache to a new Cache class and adds mutexes to prevent concurrent access.
* | | | Merge pull request #2549 from trek/RoutingErrorForMissingControllersAaron Patterson2012-05-212-3/+17
|\ \ \ \ | | | | | | | | | | When a route references a missing controller, raise ActionController::RoutingError with clearer message
| * | | | When a route references a missing controller, raise ↵Trek Glowacki2011-08-162-3/+17
| | | | | | | | | | | | | | | | | | | | ActionController::RoutingError with a clearer message
* | | | | Merge pull request #6416 from pmahoney/threadsafe-connection-poolAaron Patterson2012-05-213-35/+202
|\ \ \ \ \ | | | | | | | | | | | | Make connection pool fair with respect to waiting threads.
| * | | | | Make connection pool fair with respect to waiting threads.Patrick Mahoney2012-05-203-35/+202
| | | | | |
* | | | | | Merge pull request #6143 from senny/composed_of_converter_returns_nilAaron Patterson2012-05-213-7/+31
|\ \ \ \ \ \ | | | | | | | | | | | | | | allow the :converter Proc form composed_of to return nil
| * | | | | | allow the :converter Proc form composed_of to return nilYves Senn2012-05-033-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it possible to filter invalid input values before they are passed into the value-object (like empty strings). This behaviour is only relevant if the :allow_nil options is set to true. Otherwise you will get the resulting NoMethodError.
* | | | | | | Merge pull request #6424 from avakarev/refactoring_unless-elseJeremy Kemper2012-05-211-9/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Refactoring: just turn unless/else into if/else
| * | | | | | | Refactoring: turn unless/else into if/elseAndrey Vakarev2012-05-211-9/+9
|/ / / / / / /
* | / / / / / More info on commit messages in contributing guidePiotr Sarnacki2012-05-211-1/+31
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add more info on how to write a good commit messages along with example showing nicely formatted commit message. Rails git history does not look too well when you try to figure out why particular changes were introduced. We can do much better than that and it's never too late to start.
* | | | | | Fix generators to help with ambiguous `ApplicationController` issuePiotr Sarnacki2012-05-204-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In development mode, dependencies are loaded dynamically at runtime, using `const_missing`. Because of that, when one of the constants is already loaded and `const_missing` is not triggered, user can end up with unexpected results. Given such file in an Engine: ```ruby module Blog class PostsController < ApplicationController end end ``` If you load it first, before loading any application files, it will correctly load `Blog::ApplicationController`, because second line will hit `const_missing`. However if you load `ApplicationController` first, the constant will be loaded already, `const_missing` hook will not be fired and in result `PostsController` will inherit from `ApplicationController` instead of `Blog::ApplicationController`. Since it can't be fixed in `AS::Dependencies`, the easiest fix is to just explicitly load application controller. closes #6413
* | | | | | Merge pull request #6407 from pinetops/565c1b0a0772ac6cf91c77e9285806f7b028614cJosé Valim2012-05-201-10/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Template concurrency fixes Conflicts: actionpack/lib/action_view/template.rb
* | | | | | Fix CHANGELOG order and add a brief description of the changes in theRafael Mendonça França2012-05-202-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | Action Pack in the upgrading guide. [ci skip]
* | | | | | Merge pull request #6408 from ivankukobko/masterCarlos Antonio da Silva2012-05-201-1/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | Fixed typo in AR test name
| * | | | | | fixed typo in word finidingIvan Kukobko2012-05-201-1/+1
|/ / / / / /
* | | | | | Revert "Merge pull request #5702 from oscardelben/patch-4"Piotr Sarnacki2012-05-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit cae1ca7d1be9c79c7ef012a1f62aef9d3bb815f8, reversing changes made to da97cf016a8ffd1f54f804cd881f393e5d6efc18. These changes break the build, it needs more investigation.
* | | | | | Escape the extension when normalizing the action cache path.Andrew White2012-05-202-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although no recognized formats use non-ASCII characters, sometimes they can be included in the :format parameter because of invalid URLS. To prevent encoding incompatibility errors we need to escape them before passing the path to URI.unescape. Closes #4379
* | | | | | Return 400 Bad Request for URL paths with invalid encoding.Andrew White2012-05-204-0/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing path parameters with invalid encoding is likely to trigger errors further on like `ArgumentError (invalid byte sequence in UTF-8)`. This will result in a 500 error whereas the better error to return is a 400 error which allows exception notification libraries to filter it out if they wish. Closes #4450
* | | | | | Raise ActionController::BadRequest for malformed parameter hashes.Andrew White2012-05-208-6/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently Rack raises a TypeError when it encounters a malformed or ambiguous hash like `foo[]=bar&foo[4]=bar`. Rather than pass this through to the application this commit captures the exception and re-raises it using a new ActionController::BadRequest exception. The new ActionController::BadRequest exception returns a 400 error instead of the 500 error that would've been returned by the original TypeError. This allows exception notification libraries to ignore these errors if so desired. Closes #3051
* | | | | | Correct order of expected and actual argumentsAndrew White2012-05-201-1/+1
| | | | | |
* | | | | | fix closing tag [ci skip]Vijay Dev2012-05-201-1/+1
| | | | | |
* | | | | | Merge pull request #6399 from dchelimsky/issue-5899José Valim2012-05-204-18/+27
|\ \ \ \ \ \ | | | | | | | | | | | | | | Raise Assertion instead of RoutingError for routing assertion failures.
| * | | | | | Raise Assertion instead of RoutingError for routing assertion failures.David Chelimsky2012-05-204-18/+27
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, assert_recognizes, assert_generates, and assert_routing raised ActionController::RoutingError when they failed to recognize the route. This commit changes them to raise Assertion instead. This aligns with convention for logical failures, and supports reporting tools that care about the difference between logical failures and errors e.g. the summary at the end of a test run. - Fixes #5899
* | | | | | Merge pull request #6050 from route/wrapped_keys_in_logJosé Valim2012-05-202-1/+10
|\ \ \ \ \ \ | | | | | | | | | | | | | | Show in log correct wrapped keys