aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add changelog for #7997.Steve Klabnik2012-11-261-0/+2
| | | | This was forgotten when we did the merge.
* Merge pull request #8319 from alindeman/typoCarlos Antonio da Silva2012-11-261-1/+1
|\ | | | | Corrects typo in test name [ci skip]
| * Corrects typo in test nameAndy Lindeman2012-11-261-1/+1
| |
* | Merge pull request #8320 from senny/active_model_log_folderCarlos Antonio da Silva2012-11-261-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Log output from activemodel's railtie_test directly to STDOUT. There's no logging going on here, but since we initialize the app, the logger is set and the folder is automatically created. With this change, the default logger is not created, so there is no logging folder anymore. Conflicts: activemodel/test/cases/railtie_test.rb
| * | log output from activemodel's railtie_test directly to STDOUTYves Senn2012-11-261-0/+1
| | | | | | | | | | | | | | | after this patch, running the tests in activemodel will no longer create an untracked log/ folder inside of activemodel
* | | Merge pull request #6197 from ↵Xavier Noria2012-11-263-6/+24
|\ \ \ | |_|/ |/| | | | | | | | blakesmith/connection_adapters_without_explain_support Don't run explain on slow queries for database adapters that don't support it
| * | Don't run explain on slow queries for database adapters that don't support itBlake Smith2012-11-263-6/+24
|/ /
* | Merge pull request #8312 from ↵Rafael Mendonça França2012-11-269-21/+14
|\ \ | | | | | | | | | | | | senny/make_active_model_parts_individually_loadable make sure that individual parts `ActiveModel` can be required by itself
| * | cleanup, removed dispensable `require` statements from `ActiveModel`Yves Senn2012-11-258-12/+5
| | |
| * | cleanup, remove broken whitespaceYves Senn2012-11-254-9/+9
| | |
* | | Improve clarity of routing testsAndrew White2012-11-261-634/+1081
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the routes for each test inside the test method so that it's easier to see which routes are applicable to which test. To ensure that each test wasn't invalidated the changes were done by first removing all of the routes, ensuring that all of the tests failed and then adding the routes back to each test one by one. One test for `assert_recognizes` was removed as it wasn't actually testing the defined routes and is now tested more thoroughly in routing_assertions_test.rb. One downside is that the test suite takes about 1s longer due to having to using `method_missing` for handling the url helpers as using `include url_helpers` isn't isolated for each test.
* | | Require active_model/railtie directly instead of rails/allCarlos Antonio da Silva2012-11-261-3/+3
| |/ |/| | | | | Use Class.new with a block instead of tap to configure it.
* | Merge pull request #8316 from roberto/assert_template_validate_optionsCarlos Antonio da Silva2012-11-263-1/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | assert_template: validating option keys It only handles the keys locals, partial, layout and count. assert_template(foo: "bar") # raises ArgumentError assert_template(leiaute: "test") # raises ArgumentError
| * | assert_template: validating option keysRoberto Soares2012-11-253-1/+11
| | |
* | | Merge pull request #8317 from latortuga/cache-digest-opt-outDavid Heinemeier Hansson2012-11-263-1/+38
|\ \ \ | | | | | | | | Add explicit opt-out for fragment cache digesting
| * | | Add explicit opt-out for fragment cache digestingDrew Ulmer2012-11-253-1/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for sending an explicit opt-out of the "Russian-doll" cache digest feature on a case-by-case basis. This is useful when cache- expiration needs to be performed manually and it would be otherwise difficult to know the exact name of a digested cache key. More information: https://github.com/rails/cache_digests/pull/16
* | | | schema cache already has the columns as a hash, so use thatAaron Patterson2012-11-252-2/+12
| | | |
* | | | speed up fixture loading by querying the schema cache for column namesAaron Patterson2012-11-252-2/+11
| |/ / |/| |
* | | Merge pull request #8302 from roberto/assert_template_empty_stringCarlos Antonio da Silva2012-11-253-1/+19
|\ \ \ | |/ / |/| | assert_template("") will now fail no matter whether a template has been rendered or not.
| * | `assert_template` fails with empty string.Roberto Soares2012-11-233-9/+12
| | |
| * | `assert_template` fails with empty string when a template has been renderedRoberto Soares2012-11-233-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | For instance, it prevents false positive in this case: file = nil get :index assert_template("#{file}")
* | | Merge pull request #8311 from alisdair/dirty-nullable-datetimeCarlos Antonio da Silva2012-11-253-0/+21
|\ \ \ | |_|/ |/| | Don't call will_change! for datetime nil->"".
| * | Don't call will_change! for datetime nil->"".Alisdair McDiarmid2012-11-253-0/+21
|/ / | | | | | | | | | | | | Setting a nil datetime attribute to a blank string should not cause the attribute to be dirty. Fix #8310
* | Merge pull request #8306 from senny/documentation_for_hidden_field_idCarlos Antonio da Silva2012-11-241-0/+5
|\ \ | | | | | | Document :hidden_field_id option for fields_for [ci skip]
| * | document :hidden_field_id option for fields_forYves Senn2012-11-241-0/+5
| | |
* | | Fix changelog entry about fast_string_to_time fixCarlos Antonio da Silva2012-11-241-2/+2
| | | | | | | | | | | | | | | Introduced in 53ca22f2e11cd3050d75385bc31b6bb5055a2738. Thanks @rochefort. [ci skip]
* | | Refector a bit to remove extra slice iteration and splat callCarlos Antonio da Silva2012-11-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | This yields a small bit of performance improvement when building the defaults from constraints, specially considering that it's rather common for constraints to be empty. Also, there's a bit of duplicated code in here that I have to check before extracting.
* | | Use merge! in some places to avoid creating extra hashesCarlos Antonio da Silva2012-11-242-4/+4
| | |
* | | Simplify scope options recovery by using merge!Carlos Antonio da Silva2012-11-241-6/+1
| | | | | | | | | | | | | | | | | | Instead of iterating again over the options and setting one by one, we can just merge the recover hash back to the scope one since all keys match.
* | | Normalize scope recovering :blocks option nameCarlos Antonio da Silva2012-11-241-3/+3
| | | | | | | | | | | | | | | Use the same :blocks key in the recover hash to revert the scope options later.
* | | Simplify constraints condition in scope when checking for HashCarlos Antonio da Silva2012-11-241-7/+4
| | |
* | | Move initialize_copy method around to let new method / build alias closerCarlos Antonio da Silva2012-11-241-8/+8
| |/ |/|
* | Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-11-233-4/+4
|\ \
| * | fixed a minor spelling errorLennart Tange2012-11-201-1/+1
| | |
| * | embed code example using backticks in caching guideSergey Nartimov2012-11-201-2/+2
| | |
| * | remove previous commitMichel Grootjans2012-11-201-1/+1
| | |
| * | bug in example '<%= form_for ...' should be '<% form_for ...'Michel Grootjans2012-11-201-1/+1
| | |
| * | Fix broken link in Active Record Query Interface guideJaime Iniesta2012-11-181-1/+1
| | |
* | | Merge pull request #8291 from senny/8265_build_with_polymorphic_associationRafael Mendonça França2012-11-223-1/+15
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | prevent mass assignment of polymorphic type when using `build` Conflicts: activerecord/CHANGELOG.md
| * | | prevent mass assignment of polymorphic type when using `build`Yves Senn2012-11-223-1/+15
| | | | | | | | | | | | | | | | Closes #8265
* | | | Indent changelog markdown code to highlight correctlyCarlos Antonio da Silva2012-11-221-11/+11
| | | | | | | | | | | | | | | | [ci skip]
* | | | Merge pull request #8114 from guilleiguaran/use-symbols-in-scopeAndrew White2012-11-223-1/+43
|\ \ \ \ | | | | | | | | | | Allow setting a symbol as path in scope on routes
| * | | | Allow setting a symbol as path in scope on routesGuillermo Iguaran2012-11-213-1/+43
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Was surprising found that this example doesn't work: scope :api do resources :users end and the right form to use it is: scope 'api' do resources :users end I think this should work similary as `namespace` where both are allowed. These two are equivalent: namespace :api do resources :users end namespace 'api' do resources :user end
* | | | Remove private partial/template renderer methodsCarlos Antonio da Silva2012-11-213-14/+3
| | | | | | | | | | | | | | | | | | | | | | | | Since now these objects are not cached anymore, there's no need to have these private methods, just instantiate each of them in the necessary place.
* | | | Merge branch 'deprecate-calculations-with-block'Carlos Antonio da Silva2012-11-216-49/+25
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow up of the discussion from the original merge commit: https://github.com/rails/rails/commit/f9cb645dfcb5cc89f59d2f8b58a019486c828c73#commitcomment-1414561 We want to avoid people's mistakes with methods like count and sum when called with a block, that can easily lead to code performing poorly and that could be way better written with a db query. Please check the discussion there for more background. Closes #8268
| * | | | Remove the #sum method from CollectionAssociationCarlos Antonio da Silva2012-11-211-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since edd94cee9af1688dd036fc58fd405adb30a5e0da, CollectionProxy delegates all calculation methods - except count - to the scope, which does basically what this method was doing, but since we're delegating from the proxy, the association method was never called.
| * | | | Deprecate Relation#sum with a block.Carlos Antonio da Silva2012-11-215-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To perform a sum calculation over the array of elements, use to_a.sum(&block). Please check the discussion in f9cb645dfcb5cc89f59d2f8b58a019486c828c73 for more context.
| * | | | Revert "Yield only one argument instead of splatting."Carlos Antonio da Silva2012-11-213-37/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f9cb645dfcb5cc89f59d2f8b58a019486c828c73. Conflicts: activerecord/CHANGELOG.md Revert "Allow blocks for count with ActiveRecord::Relation. Document and test that sum allows blocks" This reverts commit 9cc2bf69ce296b7351dc612a8366193390a305f3. Conflicts: activerecord/lib/active_record/relation/calculations.rb
* | | | Don't allocate new strings in compiled attribute methodsJon Leighton2012-11-213-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves memory and performance without having to use symbols which present DoS problems. Thanks @headius and @tenderlove for the suggestion. This was originally committed in f1765019ce9b6292f2264b4601dad5daaffe3a89, and then reverted in d3494903719682abc0948bef290af0d3d7b5a440 due to it causing problems in a real application. This second attempt should solve that. Benchmark --------- require 'active_record' require 'benchmark/ips' ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:') class Post < ActiveRecord::Base connection.create_table :posts, force: true do |t| t.string :name end end post = Post.create name: 'omg' Benchmark.ips do |r| r.report('Post.new') { Post.new name: 'omg' } r.report('post.name') { post.name } r.report('post.name=') { post.name = 'omg' } r.report('Post.find(1).name') { Post.find(1).name } end Before ------ Calculating ------------------------------------- Post.new 1419 i/100ms post.name 7538 i/100ms post.name= 3024 i/100ms Post.find(1).name 243 i/100ms ------------------------------------------------- Post.new 20637.6 (±12.7%) i/s - 102168 in 5.039578s post.name 1167897.7 (±18.2%) i/s - 5186144 in 4.983077s post.name= 64305.6 (±9.6%) i/s - 317520 in 4.998720s Post.find(1).name 2678.8 (±10.8%) i/s - 13365 in 5.051265s After ----- Calculating ------------------------------------- Post.new 1431 i/100ms post.name 7790 i/100ms post.name= 3181 i/100ms Post.find(1).name 245 i/100ms ------------------------------------------------- Post.new 21308.8 (±12.2%) i/s - 105894 in 5.053879s post.name 1534103.8 (±2.1%) i/s - 7634200 in 4.979405s post.name= 67441.0 (±7.5%) i/s - 337186 in 5.037871s Post.find(1).name 2681.9 (±10.6%) i/s - 13475 in 5.084511s
* | | | Move migration test together with other join table testsCarlos Antonio da Silva2012-11-212-7/+6
| | | |