aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* remove a cache we do not needAaron Patterson2012-12-141-5/+1
|
* Merge pull request #8510 from thedarkone/thread_safety_improvementsAaron Patterson2012-12-1415-108/+101
|\ | | | | Thread safety improvements
| * Replace some global Hash usages with the new thread safe cache.thedarkone2012-12-1415-108/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary of the changes: * Add thread_safe gem. * Use thread safe cache for digestor caching. * Replace manual synchronization with ThreadSafe::Cache in Relation::Delegation. * Replace @attribute_method_matchers_cache Hash with ThreadSafe::Cache. * Use TS::Cache to avoid the synchronisation overhead on listener retrieval. * Replace synchronisation with TS::Cache usage. * Use a preallocated array for performance/memory reasons. * Update the controllers cache to the new AS::Dependencies::ClassCache API. The original @controllers cache no longer makes much sense after @tenderlove's changes in 7b6bfe84f3 and f345e2380c. * Use TS::Cache in the connection pool to avoid locking overhead. * Use TS::Cache in ConnectionHandler.
* | Remove AR gem pushed by mistakeSantiago Pastorino2012-12-141-0/+0
| |
* | Merge pull request #8400 from matthewrobertson/has-many-through-counter-cacheCarlos Antonio da Silva2012-12-144-0/+21
|\ \ | | | | | | | | | | | | | | | Fix for has_many_through counter_cache bug Counter caches were not being updated properly when replacing has_many_through relationships.
| * | Fix for has_many_through counter_cache bugMatthew Robertson2012-12-144-0/+21
| | | | | | | | | | | | | | | | | | This commit fixes reported issue #7630 in which counter caches were not being updated properly when replacing has_many_through relationships
* | | Improve the documentation of cache_if and cache_unlessRafael Mendonça França2012-12-141-4/+7
| | |
* | | Merge pull request #8497 from acapilleri/conditional_cacheRafael Mendonça França2012-12-143-31/+55
|\ \ \ | |/ / |/| | | | | Removed :if / :unless conditions to fragment cache in favour of *cache_i...
| * | Removed :if and :unless from fragment cache option in favour ofAngelo capilleri2012-12-143-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cache_if(condition, option, &block) and cache_unless(condition, option, &block). In the PR #8371 was introduced conditional options :if and :unless in the cache method. Example: <%= cache @model, if: some_condition(@model) do %> ... <%end%> This is a good feature but *cache_if* and and *cache_unless* are more concise and close to the standard of rails view helpers (ex: link_to_if and link_to_unless). Example: <%= cache_if condition, @model do %> ... <%end%>
* | | Clear url helper methods when routes are reloadedAndrew White2012-12-144-0/+165
| | | | | | | | | | | | | | | Remove all the old url helper methods when clear! is called on the route set because it's possible that some routes have been removed.
* | | Revert "Clear url helpers when reloading routes"Andrew White2012-12-142-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This doesn't actually remove old url helper methods as they are defined in a different module. This reverts commit 96bcef947bf713b7d9fc88f26dff69f568111262. Conflicts: actionpack/CHANGELOG.md
* | | Fix failing test in railtiesCarlos Antonio da Silva2012-12-141-2/+1
| | | | | | | | | | | | | | | Related to the HTML route inspector changes: ae68fc3864e99ab43c18fd12577744e1583f6b64
* | | Add missing require.Rafael Mendonça França2012-12-133-0/+4
| | | | | | | | | | | | | | | I was trying to use those files without Rails and that require was missing.
* | | Merge pull request #8432 from ↵Rafael Mendonça França2012-12-131-0/+130
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | rmcastil/add_migration_example_to_each_association_type Add migration examples to Association Basics [ci skip]
| * | | Add migration example to Association Basics [ci skip]Ryan Castillo2012-12-131-0/+130
| | | |
* | | | Merge pull request #8499 from schneems/schneems/html-route-inspectorSteve Klabnik2012-12-133-9/+51
|\ \ \ \ | | | | | | | | | | Output routes in :html format
| * | | | Output routes in :html formatschneems2012-12-123-9/+51
| | |/ / | |/| | | | | | | | | | | | | | | | | | By formatting routes for different media (txt/html) we can apply optimizations based on the format. We can include meta-data in the HTML to allow a rich experience while rendering and viewing the routes. This PR shows route helpers as they are used with the `_path` extension, it also has a javascript toggle on the top to switch to `_url`. This way the developer can see the exact named route helper they can use instead of having to modify a base. This is one example of an optimization that could be applied. Eventually we can link out to guides for the different columns to better explain what helper, HTTP Verb, Path, and Controller#action indicate. We could even add a route search box that could allow developers to input a given route and see all of the routes that match it. These are stand alone features and should be delivered separately.
* | | | Bring back helpers_path attr accessorCarlos Antonio da Silva2012-12-131-1/+1
| | | | | | | | | | | | | | | | | | | | This is apparently used by the railtie to setup the app helpers paths correctly between initializers. I'll need to check it further.
* | | | Merge pull request #8503 from siong1987/debugger-jrubyCarlos Antonio da Silva2012-12-131-0/+2
|\ \ \ \ | | | | | | | | | | Don't include debugger gem if jruby is used since it doesn't work on jruby. [ci skip]
| * | | | don't include debugger gem if jruby is used since it doesn't work on jruby.Teng Siong Ong2012-12-121-0/+2
| | | | |
* | | | | Refactor helpers code in Action Pack a bitCarlos Antonio da Silva2012-12-133-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Avoid calling class_eval when not needed * Remove helpers_path attr accessor, it's defined as a class attribute a few lines later * Avoid creating extra arrays when finding helpers, use flat_map and sort! * Remove not required refer variable when redirecting :back
* | | | | Merge pull request #8500 from senny/8492_migrations_crash_on_specific_pathCarlos Antonio da Silva2012-12-134-1/+23
|\ \ \ \ \ | | | | | | | | | | | | Recognize migrations, in folders containing numbers and 'rb'
| * | | | | recognize migrations, in folders containing numbers and 'rb'.Yves Senn2012-12-134-1/+23
| | |/ / / | |/| | | | | | | | | | | | | Closes #8492
* | | | | Merge pull request #8502 from arunagw/masterJeremy Kemper2012-12-121-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Fixed duplicate test case name
| * | | | | Fixed test names for generated_attribute_test.rbArun Agrawal2012-12-131-1/+1
|/ / / / /
* | | | | Merge pull request #8496 from ptn/link-AR-basics-guideSteve Klabnik2012-12-122-42/+186
|\ \ \ \ \ | |_|/ / / |/| | | | Link to Active Record Basics guide [ci skip]
| * | | | General refreshment of the Active Record Basics guidePablo Torres2012-12-122-42/+186
| |/ / /
* / / / Shush deprecation warning due to initializing a Migrator with migration ↵Jeremy Kemper2012-12-121-1/+1
|/ / / | | | | | | | | | paths rather than migrations. Use Migrator.open(paths) instead. Thanks @rubys!
* | | Remove deprecation message from Action PackCarlos Antonio da Silva2012-12-111-1/+1
| | | | | | | | | | | | | | | Related to the deprecation of Time.utc_time in favor of Time.utc, in 48583f8bf74d1cefefea3cd6591bd546a9eaff6c.
* | | Remove not used variable warnings from AM and ACCarlos Antonio da Silva2012-12-112-3/+2
| | |
* | | Merge pull request #8490 from mattv/fix_request_raw_postRafael Mendonça França2012-12-113-2/+15
|\ \ \ | | | | | | | | Fix rewinding in ActionDispatch::Request#raw_post
| * | | Fix rewinding in ActionDispatch::Request#raw_postMatt Venables2012-12-113-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If env['RAW_POST_DATA'] is nil, #raw_post will attempt to set it to the result of #body (which will return env['rack.input'] if env['RAW_POST_DATA'] is nil). #raw_post will then attempt to rewind the result of another call to #body. Since env['RAW_POST_DATA'] has already been set, the result of #body is not env['rack.input'] anymore. This causes env['rack.input'] to never be rewound.
* | | | Improve test name related to cache timestamp format [ci skip]Carlos Antonio da Silva2012-12-111-1/+1
| | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/test/cases/base_test.rb
* | | | Backport thread-local variables from Ruby 2.0Rafael Mendonça França2012-12-112-0/+147
|/ / /
* | | Deprecate obsolete Time to DateTime fallback methodsAndrew White2012-12-1113-38/+67
| | | | | | | | | | | | | | | | | | | | | The Time.time_with_datetime_fallback, Time.utc_time and Time.local_time methods were added to handle the limitations of Ruby's native Time implementation. Those limitations no longer apply so we are deprecating them in 4.0 and they will be removed in 4.1.
* | | Beef up tests for String#in_time_zone and Date#in_time_zoneAndrew White2012-12-112-18/+128
| | |
* | | Only call `in_time_zone` on Time or DateTime instancesAndrew White2012-12-111-1/+6
| | | | | | | | | | | | | | | Both String and Date now respond to in_time_zone so we need to check if the value is a Time or a DateTime.
* | | Clean up 'active_support/time' requiresAndrew White2012-12-111-15/+6
| | | | | | | | | | | | | | | Rely on the hub files for Time, Date and DateTime classes and add the requires for String#to_time and String#in_time_zone.
* | | Remove changelog entry from #8441 [ci skip]Carlos Antonio da Silva2012-12-111-4/+0
| | | | | | | | | | | | | | | | | | | | | This issue only happens on master due to internal AR refactorings, so there is no need for a changelog entry. The test was backported to 3-2-stable to ensure there won't be any regressions.
* | | Merge pull request #8484 from gclag/dynamic-index-refinementsXavier Noria2012-12-111-0/+2
|\ \ \ | | | | | | | | Explain how to supersede the new dynamic welcome page
| * | | Explain how to supersede the new dynamic welcome pageGeorge Claghorn2012-12-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old, static welcome page instructed developers to delete the public/index.html file and set a root route. The new, dynamic welcome page should tell developers (a) why they're seeing it when it doesn't correspond to anything in the viewable app source and (b) that it can be superseded with a root route.
* | | | Deprecate Date#to_time_in_current_zoneAndrew White2012-12-115-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The to_time_in_current_zone method doesn't match the naming of the methods for converting to ActiveSupport::TimeWithZone on Time and DateTime. Since DateTime inherits from Date that has led to confusion with some users using the to_time_in_current_zone method with DateTime instances and having the time part dropped and the UTC offset lost. This commit fixes this by deprecating the old method and adding a new in_time_zone method which matches the naming for DateTime and Time. This should prevent accidently dropping times and UTC offsets when converting DateTime instances to ActiveSupport::TimeWithZone.
* | | | Add missing at_end_of_* aliasesAndrew White2012-12-113-0/+5
| | | |
* | | | Add String#in_time_zone methodAndrew White2012-12-114-24/+60
|/ / / | | | | | | | | | | | | | | | This commit adds a convenience method for converting a string to an ActiveSupport::TimeWithZone instance using the configured Time.zone or another passed as an argument.
* | | Merge pull request #8482 from BanzaiMan/defensive_matching_on_default_index_pageSantiago Pastorino2012-12-101-1/+1
|\ \ \ | | | | | | | | Match the controller and path names defensively.
| * | | Match the controller and path names defensively.Hiro Asari2012-12-101-1/+1
|/ / / | | | | | | | | | Use '\A' instead of '^', and make the alteration shorter.
* | | Merge pull request #8468 from schneems/schneems/rack-index-pageSantiago Pastorino2012-12-1012-28/+55
|\ \ \ | | | | | | | | Use Rails to Render Default Index Page
| * | | Use Rails to Render Default Index Pageschneems2012-12-1012-28/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an alternative implementation to #7771 thanks to the advice of @spastorino Rails is a dynamic framework that serves a static index.html by default. One of my first questions ever on IRC was solved by simply deleting my public/index.html file. This file is a source of confusion when starting as it over-rides any set "root" in the routes yet it itself is not listed in the routes. By making the page dynamic by default we can eliminate this confusion. This PR moves the static index page to an internal controller/route/view similar to `rails/info`. When someone starts a rails server, if no root is defined, this route will take over and the "dynamic" index page from rails/welcome_controller will be rendered. These routes are only added in development. If a developer defines a root in their routes, it automatically takes precedence over this route and will be rendered, with no deleting of files required. In addition to removing this source of confusion for new devs, we can now use Rails view helpers to build and render this page. While not the primary intent, the added value of "dogfooding" should not be under-estimated. The prior PR #7771 had push-back since it introduced developer facing files. This PR solves all of the same problems, but does not have any new developer facing files (it actually removes one). cc/ @wsouto, @dickeyxxx, @tyre, @ryanb, @josevalim, @maxim, @subdigital, @steveklabnik ATP Railties and Actionpack.
* | | | Make sure that no extra spaces are created with a non-polymorphicRafael Mendonça França2012-12-102-4/+8
| |_|/ |/| | | | | | | | attributes
* | | Add CHANGELOG entry for #6376.Rafael Mendonça França2012-12-101-0/+4
| | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md