aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * | | `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
| | | |
* | | | Use secure password min cost option in its own tests for a speed upCarlos Antonio da Silva2012-11-211-2/+10
|/ / / | | | | | | | | | Around 0.564359s => 0.092244s speed up in my machine.
* | | Merge pull request #8183 from jcoglan/objectless_sessionsJon Leighton2012-11-213-11/+47
|\ \ \ | | | | | | | | Store FlashHashes in the session as plain hashes
| * | | Store FlashHashes in the session as plain hashes rather than custom objects ↵James Coglan2012-11-093-11/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with unstable class names and instance variables. Refactor FlashHash to take values for its ivars in the constructor, to pretty up FlashHash.from_session_value. Remove stale comment on FlashHash: it is no longer Marshaled in the session so we can change its implementation. Remove blank lines I introduced in controller/test_case.rb. Unit tests for FlashHash#to_session_value. Put in a compatibility layer to accept FlashHash serializations from Rails 3.0+. Test that Rails 3.2 session flashes are correctly converted to the new format. Remove code path for processing Rails 3.0 FlashHashes since they can no longer deserialize. Fix session['flash'] deletion condition: it will never be empty?, it will either be nil or a hash with 'discard' and 'flashes' keys.
* | | | Merge pull request #7716 from steveklabnik/issue_7715Rafael Mendonça França2012-11-212-1/+8
|\ \ \ \ | | | | | | | | | | Coerce strings in create_join_table.
| * | | | Coerce strings in create_join_table.Steve Klabnik2012-11-212-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If you accidentally pass a string and a symbol, this breaks. So we coerce them both to strings. Fixes #7715
* | | | | Merge pull request #8290 from cpatuzzo/masterCarlos Antonio da Silva2012-11-211-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Fixed a typo
| * | | | | TypoChris Patuzzo2012-11-211-1/+1
|/ / / / /
* | | | | Merge pull request #6245 from bogdan/bc_timestampRafael Mendonça França2012-11-214-3/+24
|\ \ \ \ \ | | | | | | | | | | | | Postgresql adapter: fix handling of BC timestamps
| * | | | | Fix postgresql adapter to handle bc timestamps correctlyBogdan Gusiev2012-11-214-3/+24
| | | | | |
* | | | | | Merge pull request #8289 from semaperepelitsa/pg_adapter_refactoring_squashedRafael Mendonça França2012-11-212-13/+39
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Refactoring, testing and documenting pg_connection.distinct
| * | | | | Refactoring, testing and documenting pg_connection.distinctSemyon Perepelitsa2012-11-212-13/+39
|/ / / / /
* | | | | Remove return guard and use code convetionsRafael Mendonça França2012-11-201-7/+11
| | | | |
* | | | | Merge pull request #8280 from asanghi/fix_guide_field_with_error_procRafael Mendonça França2012-11-201-2/+6
|\ \ \ \ \ | | | | | | | | | | | | fix guide with field_with_error proc example
| * | | | | fix guide with field_with_error proc exampleAditya Sanghi2012-11-201-2/+6
| | | | | |
* | | | | | Merge pull request #8282 from arunagw/warning_removed_for_ruby2Carlos Antonio da Silva2012-11-201-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | Initialize accessors to remove some warnings in Ruby 2.0
| * | | | | | Initialize accessors to remove some warnings in Ruby 2.0Arun Agrawal2012-11-211-0/+2
|/ / / / / /
* | | | | | Merge pull request #8276 from pwnall/pgsql_text_limitsRafael Mendonça França2012-11-204-0/+35
|\ \ \ \ \ \ | |/ / / / / |/| | | | | Postgresql doesn't accepts limits on text columns
| * | | | | Postgresql doesn't accepts limits on text columns.Victor Costan2012-11-204-0/+35
|/ / / / /
* | | | | Merge pull request #8279 from gaurish/database_errorCarlos Antonio da Silva2012-11-201-0/+4
|\ \ \ \ \ | | | | | | | | | | | | Improved Error handling when parsing database.yaml, Fixes #8143