aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* `validates_inclusion_of` and `validates_exclusion_of` now acceptRafael Mendonça França2012-07-205-10/+60
| | | | | | `:within` option as alias of `:in` as documented. Fix #7118
* Deprecate :finder_sql, :counter_sql, :insert_sql, :delete_sql.Jon Leighton2012-07-208-35/+108
|
* Merge pull request #6616 from dpassage/fix_resolver_test_sqlite3Carlos Antonio da Silva2012-07-191-0/+3
| | | | Resolver tests fail if mysql adapter not installed
* Merge pull request #7108 from arunagw/mocha_bumpRafael Mendonça França2012-07-191-1/+1
|\ | | | | Bumping mocha!
| * Bumping mocha!Arun Agrawal2012-07-191-1/+1
| | | | | | | | | | Reason:- 0.12.0 introduced a bug where you got a exception which is now in 0.12.1 is a warning only!
* | Merge pull request #7080 from jfirebaugh/to_param_regressionJon Leighton2012-07-172-1/+7
|\ \ | | | | | | AR::Integration must be included after AM::Conversion
| * | AR::Integration must be included after AM::ConversionJohn Firebaugh2012-07-172-1/+7
|/ / | | | | | | | | | | Integration's definition of #to_param must override Conversion's. Otherwise, there is a regression from 3.1 in the behavior of a non-persisted AR::Base instance which nevertheless has an id.
* | Add support for optional root segments containing slashesAndrew White2012-07-172-1/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optional segments with a root scope need to have the leading slash outside of the parentheses, otherwise the generated url will be empty. However if the route has non-optional elements then the leading slash needs to remain inside the parentheses otherwise the generated url will have two leading slashes, e.g: Blog::Application.routes.draw do get '/(:category)', :to => 'posts#index', :as => :root get '/(:category)/author/:name', :to => 'posts#author', :as => :author end $ rake routes root GET /(:category)(.:format) posts#index author GET (/:category)/author/:name(.:format) posts#author This change adds support for optional segments that contain a slash, allowing support for urls like /page/2 for the root path, e.g: Blog::Application.routes.draw do get '/(page/:page)', :to => 'posts#index', :as => :root end $ rake routes root GET /(page/:page)(.:format) posts#index Fixes #7073 (cherry picked from commit d8745decaf59aad32aa2f09abdba99b8d0e48b31)
* | Merge pull request #4396 from kennyj/fix_4259Rafael Mendonça França2012-07-172-4/+40
|/ | | | Fix GH #4259. When we execute schema dumper, we must remove table_name_prefix and table_name_suffix.
* adds a missing require [fixes #6896]Xavier Noria2012-07-152-1/+1
| | | | | This file uses Time.zone, which is defined in active_support/core_ext/time/zones.rb.
* fixing tests to deal with data differences between prepared statements and ↵Aaron Patterson2012-07-133-3/+8
| | | | non-prepared statements
* Fixing texts; down to three failing tests.Jeremy Cole2012-07-132-15/+24
|
* Only use prepared statements when bind variables are presentJeremy Cole2012-07-131-34/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prepared statements (prepare/execute/close) were being used unnecessarily when no bind variables were present, and disabling prepared statement using prepared_statements:false was principally broken. While bind variables were correctly substituted with prepared_statements:false, the prepared statement interface was still used, costing an extra two round trips per query. In addition to making this behavioral change, I also cleaned up the internals of exec_stmt and exec_without_stmt so that they behave the same (calling log and constructing the ActiveRecord::Result in the same way). Moving the check for binds.empty? to exec_query also will mean that several code paths explicitly calling exec_without_stmt could be cleaned up to once again call exec_query instead. I have also left the check for binds.empty? in exec_stmt, since it is not a private method and could be called directly with an empty binds array. For the sake of clarity in this patch, I have not made those changes. = The previous behavior = When issuing a Foo.find(1) with prepared_statements:true, the bind variable is present in the prepared query, and execute shows a value passed: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = ? LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit When issuing a Foo.find(1) with prepared_statements:false, the bind variable has already been removed and substituted with the value, but the prepared statement interface is used anyway: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit = With this patch applied = When issuing a Foo.find(1) with prepared_statements:true, the bind variable is present in the prepared query, and execute shows a value passed: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Prepare SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = ? LIMIT 1 Execute SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Close stmt Quit When issuing a Foo.find(1) with prepared_statements:false, the bind variable has been removed and substituted with the value, and the query interface is used instead of the prepared statement interface: Connect root@localhost on rails_test Query SET SQL_AUTO_IS_NULL=0 Statistics Query SHOW FULL FIELDS FROM `foos` Query SHOW TABLES LIKE 'foos' Query SHOW CREATE TABLE `foos` Query SELECT `foos`.* FROM `foos` WHERE `foos`.`id` = 1 LIMIT 1 Quit
* Merge pull request #7031 from robbkidd/rename_sequences_too_backport_to_3-2Piotr Sarnacki2012-07-112-0/+27
|\ | | | | Back-port #6874 to 3.2: psql adapter should rename a default pk sequence during rename_table
| * Update psql adapter to rename a default pkey sequence during rename_table.Robb Kidd2012-07-102-0/+27
|/
* Merge pull request #7025 from rustygeldmacher/select_options_valid_htmlRafael Mendonça França2012-07-102-5/+18
|\ | | | | Select options valid html
| * Fixed bug creating invalid HTML in select optionsRusty Geldmacher2012-07-102-5/+18
|/ | | | | | | | | When a select tag is created for a field with errors, and that select tag has :prompt or :include_blank options, then the inserted first option will errantly have a <div class="field_with_errors"> wrapping it. See https://github.com/rails/rails/issues/7017
* Merge pull request #7015 from sikachu/3-2-stable-code-styleXavier Noria2012-07-091-8/+8
|\ | | | | Update coding convention from master
| * Update coding convention from masterPrem Sichanugrist2012-07-091-8/+8
|/
* Merge pull request #6985 from sidonath/disable-query-cache-for-locksRafael Mendonça França2012-07-062-1/+17
| | | | | | Disable query cache for lock queries Conflicts: activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb
* Since Rails 3.2, use layout false to render no layoutJosé Valim2012-07-061-1/+1
|
* Merge pull request #6973 from route/wrapped_keys_in_log_for_3_2Rafael Mendonça França2012-07-052-1/+10
|\ | | | | MIssed backport for 3.2
| * Show in log correct wrapped keysDmitry Vorotilin2012-07-052-1/+10
|/
* Fix NumberHelper options wrapping to prevent verbatim blocks being rendered ↵Mark J. Titorenko2012-07-021-90/+159
| | | | | | | | | | instead of line continuations. While I'm at it, wrap long comment lines consistently. Conflicts: actionpack/lib/action_view/helpers/number_helper.rb There was just one conflict related to the addition of the :format option to number_to_percentage.
* Merge pull request #6935 from frodsan/b1e509ad7a8c8264544f10f4666705cd806b5408Rafael Mendonça França2012-07-022-15/+31
|\ | | | | Backport #3329 to 3-2-stable
| * Backport #3329 to 3-2-stableFrancesco Rodriguez2012-07-022-15/+31
|/ | | | | | | Fix bug with autosave collection association on new record with a marked for destroy record in autosave collection. Fixes #6918.
* make sure the inflection rules are loaded when cherry-picking ↵Xavier Noria2012-06-293-0/+5
| | | | active_support/core_ext/string/inflections.rb [fixes #6884]
* Merge pull request #6878 from masarakki/masterRafael Mendonça França2012-06-285-0/+41
| | | | | | fix bug in limit of enum columns of mysql Closes #6432
* Merge pull request #6900 from cbandy/issue-6898Carlos Antonio da Silva2012-06-281-0/+2
| | | | | | Require URI in ConnectionSpecification Conflicts: activerecord/lib/active_record/connection_adapters/connection_specification.rb
* Merge pull request #6857 from rsutphin/as_core_ext_time_missing_requireCarlos Antonio da Silva2012-06-251-0/+1
| | | | Missing require breaks Time.=== when selectively loading ActiveSupport core_exts in 3.2.4+
* Ensure Arel columns are typecasted properly when grouping with calculationCarlos Antonio da Silva2012-06-252-5/+9
| | | | | | | | Fix build issue with postgresql. Conflicts: activerecord/lib/active_record/relation/calculations.rb activerecord/test/cases/calculations_test.rb
* Merge pull request #6842 from ernie/handle-non-strings-in-grouped-calculationsRafael Mendonça França2012-06-242-6/+22
| | | | | | Stop assuming strings for grouped calculations Conflicts: activerecord/lib/active_record/relation/calculations.rb
* Remove waning of unused variableRafael Mendonça França2012-06-211-1/+0
|
* Merge branch 'acapilleri-update_nested_attributes'Rafael Mendonça França2012-06-212-5/+25
| | | | | | | Closes #6675 Conflicts: activerecord/lib/active_record/attribute_methods/dirty.rb
* Merge pull request #6758 from caironoleto/masterJosé Valim2012-06-181-13/+13
| | | | | | Fixing load config in some tasks Conflicts: activerecord/lib/active_record/railties/databases.rake
* Merge pull request #6649 from route/logger_in_metal_3_2Carlos Antonio da Silva2012-06-182-2/+21
|\ | | | | Logger in metal backport for 3.2
| * Added test for case when view doesn't have logger method when using ↵Dmitry Vorotilin2012-06-161-0/+17
| | | | | | | | ActionController::Metal controller.
| * ActionController::Metal doesn't have logger method, check it and then delegateDmitry Vorotilin2012-06-161-2/+4
| |
* | Merge pull request #6742 from steveklabnik/deprecate_composed_ofRafael Mendonça França2012-06-185-7/+24
|\ \ | | | | | | Deprecate composed of
| * | Deprecating composed_of in ActiveRecordSteve Klabnik2012-06-185-7/+24
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This feature adds a lot of complication to ActiveRecord for dubious value. Let's talk about what it does currently: class Customer < ActiveRecord::Base composed_of :balance, :class_name => "Money", :mapping => %w(balance amount) end Instead, you can do something like this: def balance @balance ||= Money.new(value, currency) end def balance=(balance) self[:value] = balance.value self[:currency] = balance.currency @balance = balance end Since that's fairly easy code to write, and doesn't need anything extra from the framework, if you use composed_of today, you'll have to add accessors/mutators like that. This feature will be removed in Rails 4.
* | Use strict_args_position! if available from ThorJosé Valim2012-06-181-0/+1
| |
* | Merge pull request #6764 from frodsan/patch-4Rafael Mendonça França2012-06-171-2/+2
|\ \ | | | | | | bump AS deprecation_horizon to 4.0
| * | bump AS deprecation_horizon to 4.0Francesco Rodríguez2012-06-171-2/+2
|/ /
* | Merge pull request #6756 from arunagw/build_fix_apRafael Mendonça França2012-06-161-1/+1
|\ \ | | | | | | Build fix actionpack
| * | It should also include text/css => Build FixArun Agrawal2012-06-161-1/+1
|/ /
* / Merge pull request #6752 from steveklabnik/fix_5680Rafael Mendonça França2012-06-163-4/+21
|/ | | | Respect absolute paths in compute_source_path.
* Remove unneded tests.Rafael Mendonça França2012-06-141-11/+1
| | | | | | | Before b081f6b59fb3f15d12043072ad9b331ffd2bc56e, this test are asserting that update_attribute does the dirty tracking. Since we deprecated this method and update_column write in the database directly this tests will always fail.
* registers the deprecation of update_attribute in the CHANGELOGXavier Noria2012-06-141-0/+8
|
* Merge pull request #6739 from steveklabnik/3-2-stableXavier Noria2012-06-147-17/+41
|\ | | | | Deprecate update_attribute
| * Deprecate update_attribute.Steve Klabnik2012-06-147-17/+41
| | | | | | | | | | | | | | | | | | | | | | Historically, update_attribute and update_attributes are similar, but with one big difference: update_attribute does not run validations. These two methods are really easy to confuse given their similar names. Therefore, update_attribute is being deprecated in favor of update_column, and will be removed in Rails 4. See the discussion on rails-core here: https://groups.google.com/d/topic/rubyonrails-core/BWPUTK7WvYA/discussion