Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: rails/rails
head fork: rails/rails
This comparison is big! We’re only showing the most recent 250 commits
Commits on Apr 25, 2010
@dchelimsky dchelimsky allow unsubscribe by name or subscription [#4433 state:resolved]
Signed-off-by: Jeremy Kemper <>
@mikel mikel Merge branch 'master' of e1b255a
@mikel mikel Fixing typo in guide, updating ActionMailer description and making th…
…e contributors list alphabetical
@reu reu Fix validates_numericaly_of only integer error message [#4406 state:r…

Signed-off-by: José Valim <>
@pixeltrix pixeltrix Support fixtures for namespaced models [#2965 state:resolved]
Signed-off-by: José Valim <>
@fxn fxn the names of Rails components have a space, eg "Active Record" 7b15629
Commits on Apr 26, 2010
@e2 e2 Action Pack: fix tests with -K*, work around Ruby 1.9.1 constant lookup.
[#4473 state:committed]

Signed-off-by: Jeremy Kemper <>
@jeremy jeremy Revert "create option to include_root_in_json for ActiveResource [#2584
… state:committed]"

This reverts commits 72f89b5, 137d8e0.

Should reuse Active Model.

[#2584 state:incomplete]
@josevalim josevalim Refactor tests by moving all middleware tests to the same place. c9132c1
@josevalim josevalim Ensure application rake tasks and generators are loaded after the one…
…s specified in railties/engines/rails. [#4471 state:resolved]
@josevalim josevalim No need to require test and rdoc tasks. 9b5a1f7
@dchelimsky dchelimsky extract ActionController::TestCase::Behavior
- this makes it possible for other test frameworks
  to hook into testing facilities provided by Rails
  without having to subclass AC::TestCase.

[#4474 state:resolved]

Signed-off-by: José Valim <>
unknown Make db console work for all versions of ruby on Windows.
[#3999 state:committed]

Signed-off-by: Jeremy Kemper <>
@anildigital anildigital Use Config::CONFIG['host_os'] instead of RUBY_PLATFORM [#4477 state:r…

Signed-off-by: Jeremy Kemper <>
@eparreno eparreno fix font formats and code examples indentation a571314
@spastorino spastorino Use explicit source encoding rather than forced UTF-8 from US-ASCII.
Signed-off-by: Jeremy Kemper <>
@spastorino spastorino Reuse Active Model serialization in Active Resource. [#2584 state:com…

Signed-off-by: Jeremy Kemper <>
@jeremy jeremy Update CHANGELOG for include_root_in_json. 43e2fd9
Commits on Apr 27, 2010
@jeremy jeremy JSON: encode objects that don't have a native JSON representation usi…
…ng to_hash, if available, instead of instance_values (the old fallback) or to_s (other encoders' default). Encode BigDecimal and Regexp encode as strings to conform with other encoders. Try to transcode non-UTF-8 strings.
@wycats wycats Merge branch 'master' of 91963e9
@fxn fxn use ordinary syntax for options to be well-formed in 1.8 1d63129
Brian Durand ActiveSupport::Cache refactoring
All Caches

* Add default options to initializer that will be sent to all read, write, fetch, exist?, increment, and decrement
* Add support for the :expires_in option to fetch and write for all caches. Cache entries are stored with the create timestamp and a ttl so that expiration can be handled independently of the implementation.
* Add support for a :namespace option. This can be used to set a global prefix for cache entries.
* Deprecate expand_cache_key on ActiveSupport::Cache and move it to ActionController::Caching and ActionDispatch::Http::Cache since the logic in the method used some Rails specific environment variables and was only used by ActionPack classes. Not very DRY but there didn't seem to be a good shared spot and ActiveSupport really shouldn't be Rails specific.
* Add support for :race_condition_ttl to fetch. This setting can prevent race conditions on fetch calls where several processes try to regenerate a recently expired entry at once.
* Add support for :compress option to fetch and write which will compress any data over a configurable threshold.
* Nil values can now be stored in the cache and are distinct from cache misses for fetch.
* Easier API to create new implementations. Just need to implement the methods read_entry, write_entry, and delete_entry instead of overwriting existing methods.
* Since all cache implementations support storing objects, update the docs to state that ActiveCache::Cache::Store implementations should store objects. Keys, however, must be strings since some implementations require that.
* Increase test coverage.
* Document methods which are provided as convenience but which may not be universally available.


* MemoryStore can now safely be used as the cache for single server sites.
* Make thread safe so that the default cache implementation used by Rails is thread safe. The overhead is minimal and it is still the fastest store available.
* Provide :size initialization option indicating the maximum size of the cache in memory (defaults to 32Mb).
* Add prune logic that removes the least recently used cache entries to keep the cache size from exceeding the max.
* Deprecated SynchronizedMemoryStore since it isn't needed anymore.


* Escape key values so they will work as file names on all file systems, be consistent, and case sensitive
* Use a hash algorithm to segment the cache into sub directories so that a large cache doesn't exceed file system limits.
* FileStore can be slow so implement the LocalCache strategy to cache reads for the duration of a request.
* Add cleanup method to keep the disk from filling up with expired entries.
* Fix increment and decrement to use file system locks so they are consistent between processes.


* Support all keys. Previously keys with spaces in them would fail
* Deprecate CompressedMemCacheStore since it isn't needed anymore (use :compress => true)

[#4452 state:committed]

Signed-off-by: Jeremy Kemper <>
@fxn fxn release notes: updates path to the rails command in the Rails repo 97b3936
Commits on Apr 28, 2010
@jeremy jeremy Switch driver to pg. [#3635 state:resolved] 7100c9d
@rohit rohit added views dir to list of created things 033b1e6
@rohit rohit added notice to all samples of show.html.erb of posts controller c6a8337
@nex3 nex3 Only run load hooks once a file has been fully loaded.
Signed-off-by: Jeremy Kemper <>
@cghawthorne cghawthorne Destroy respects optimistic locking.
Now works with :dependent => :destroy and includes unit tests for that
case.  Also includes better error messages when updating/deleting stale

[#1966 state:committed]

Signed-off-by: Jeremy Kemper <>
@rohit rohit Fixed incomplete para 56c48f8
@rohit rohit fixed para for better readability 9dea2f4
@rohit rohit replaced <b> tag with <strong> tag in samples edcbd33
@rohit rohit readability fixes to two paras in Refactorization 8f1a5bf
@jeremy jeremy Fix prototype grep depending on JSON encoding regexp as JavaScript re…
@e2 e2 Fix BigDecimal JSON encoding test. [#4495 state:resolved]
Signed-off-by: Jeremy Kemper <>
@jeremy jeremy Bundle json and yajl-ruby gems for AS::JSON testing 2218493
@fxn fxn Merge commit 'rails/master' b9ab4c7
@spastorino spastorino Makes validates_acceptance_of to not override database fields [#4460

Signed-off-by: José Valim <>
@spastorino spastorino failing test for: validates_acceptance_of overrides database fields
Signed-off-by: José Valim <>
@josevalim josevalim Fix failing test. 209ab7e
@jeremy jeremy object_id may be negative, producing an invalid symbol. h/t Markus Sc…
Commits on Apr 29, 2010
@ernie ernie Fix eager loading of associations causing table name collisions
[#4463 state:committed]

Signed-off-by: Jeremy Kemper <>
@josevalim josevalim The rake task :environment now loads config/environment.rb instead of…
… initializing the application on its own. This fixes [#4492 state:resolved] and also avoids the application being initialized twice in some rake tasks.
@rohit rohit revert back to <b> tags instead of <strong> tags in the getting start…
…ed guide
@neerajdotname neerajdotname array.to_xml should be able to handle all types of data elements [#4490
… state:resolved]

Signed-off-by: José Valim <>
@josevalim josevalim Ops. Rename performance to profiler. 1bea5c7
@josevalim josevalim Move several configuration values from Hash to ActiveSupport::XmlMini…
…, which both Hash and Array depends on.

Also, refactored ActiveModel serializers to just use ActiveSupport::XmlMini.to_tag. As consequence, if a serialized attribute is an array or a hash, it's not encoded as yaml, but as a hash or array.
@neerajdotname neerajdotname ActionCachingTestController rescues from all exceptions. Making sure …
…that all the tests check for valid response. [#4468 state:resolved]

Signed-off-by: José Valim <>
@ravinderrana ravinderrana warn user if options are given before application name [#3435 state:r…

Signed-off-by: José Valim <>
@josevalim josevalim ActiveRecord middlewares should be inserted before AD::Cascade [#4493
@neerajdotname neerajdotname Fix form builder and form helpers inconsistencies [#4432 state:resolved]
* datetime_select and select_datetime should be consistent as much as possible
* date_select and select_date should be consistent as much as possible
* time_select and select_time should be consistent as much as possible

Signed-off-by: José Valim <>
@neerajdotname neerajdotname making rake:migrate VERSION=0 a noop called in succession. [#2137 sta…

Signed-off-by: José Valim <>
@toretore toretore Replace send_data with send_file in "Sending files" example c68ff4b
@toretore toretore Change %5b ([) to %5d (]) in escaped URL 8d0bdbf
@spastorino spastorino as changes named routes, path is the appropriate option in this case 199cb0f
@r00k r00k Fix sentence fragment and improve wording in generated README. 90ef772
@r00k r00k Make output match code. f632df2
@r00k r00k Small grammatical fix. 7c7e00b
@jeremy jeremy Add missing deprecation requires fef31be
@jeremy jeremy Fix docs typo: app.middlewares -> app.middleware 20f0e9f
@bdurand bdurand Add after_commit and after_rollback callbacks to ActiveRecord that ar…
…e called after transactions either commit or rollback on all records saved or destroyed in the transaction.

[#2991 state:committed]

Signed-off-by: Jeremy Kemper <>
@josevalim josevalim Update thor dependency to 0.13.5 b0a53c8
Carlhuda Move ActionMailer generator to AM c54c84b
Commits on Apr 30, 2010
@bdurand bdurand Update after_commit and after_rollback docs and tests to use new styl…
…e API with an :on options instead of on_* suffix.


Signed-off-by: Jeremy Kemper <>
@rohit rohit Rewrote para for clarity and better reading 0bd6314
@rohit rohit Rewrote Security para and a minor fix 7d00275
@rohit rohit fixes to tags section 0b41aa9
@rohit rohit more fixes and updated the changelog 2c7f773
@josevalim josevalim Reorganize the mailer generator a bit. 7b98d2a
@josevalim josevalim Update generators to use thor 0.13.6 with simpler source_root handling. cde168e
@josevalim josevalim Updated the generators guide. 34908e4
@neerajdotname neerajdotname test cases for record.to_xml [#458 state:resolved]
Signed-off-by: José Valim <>
@neerajdotname neerajdotname removing the extra assignment statement [#4432 state:resolved]
Signed-off-by: José Valim <>
@lawrencepit lawrencepit to_xml with :include should skip_instruct on the included records [#4506

Signed-off-by: José Valim <>
@norman norman Delegate Inflector.transliterate to i18n. [#4508 state:resolved]
Ancillary changes: Moved Chars#normalize into a class method; removed
unused UTF_PAT constant.

Signed-off-by: José Valim <>
@josevalim josevalim Depend on the I18n 0.4.0.beta. 6b55947
@technoweenie technoweenie add HTTP Token Authorization support to complement Basic and Digest A…
@wycats wycats Merge branch 'master' of 0fe8827
@wycats wycats Add generators to the guides and break out an extensions section 21c1fbb
@wycats wycats Add generators to the guides and break out an extensions section e975f6f
@fxn fxn guides index: punctuation f5fa13c
@fxn fxn after_(commit|rollback) rdoc, edit pass 1ff954a
@jeremy jeremy Merge remote branch 'technoweenie/http_token_authentication'
Signed-off-by: Jeremy Kemper <>
Carlhuda Set up app generator class to make it easier to for alt-stacks to ove…
…rride targeted areas
Carlhuda Provide a mechanism for overriding the entire generator via a class t…
…hat handles the individual elements of generating a new Rails application
@eparreno eparreno fix format 81807e0
Carlhuda It would be nice to actually commit test fixtures dedb842
Carl Lerche Fix a bug in the generators from the previous commit 95c9879
Carl Lerche RouteSet does not raise ActionController::RoutingError when no routes…
… match anymore. Instead, it follows the X-Cascade convention. ShowExceptions checks for X-Cascade so that the routing error page can still be displayed.
Commits on May 01, 2010
@fxn fxn Merge commit 'rails/master'
@josevalim josevalim Use %{} syntax in I18n (faster) instead of {{}}. 13867a3
@marius marius repair the activesupport message encryptor tests for me, do so in the…
… same way as jeremy did with message verifier

[#4517 state:committed]

Signed-off-by: Jeremy Kemper <>
@josevalim josevalim Speed up I18n helpers in views and add entry to CHANGELOG. a61a6d2
@e2 e2 AR: fixed postgres transaction tests [#4519 state:commited]
Signed-off-by: Jeremy Kemper <>
@fxn fxn edit pass in the transactions preamble rdoc 6433c93
@fxn fxn say something about after_(commit|rollback) in callbacks.rb, the fact…
… that their implementation is elsewhere is not important for rdoc purposes
@fxn fxn let Date.yesterday and Date.tomorrow be based on Date.current rather …
@fxn fxn revises tests for Date.yesterday and Date.tomorrow 1b33a15
Commits on May 02, 2010
@e2 e2 AR: fixed postgres fixture tests [#4519 state:resolved]
Signed-off-by: Jeremy Kemper <>
@mikel mikel Adding ability to pass proc's to the ActionMailer class default method
Signed-off-by: José Valim <>
@mikel mikel Adding ability for the procs to be called within the instance, allows…
… you to pass results from instance methods to the mail header

Signed-off-by: José Valim <>
@mikel mikel Adding more docs to ActionMailer 3e33294
@mikel mikel Cleaning up Action Mailer spelling with and without the space 07a5fde
@spastorino spastorino Missing require added make pass activesupport/test/json/encoding_test…
….rb in isolation

Signed-off-by: Xavier Noria <>
@jaggederest jaggederest Make notifications go off even when an error is raised, so that we ca…
…pture the underlying performance data [#4505 state:resolved]

This is important when trying to keep track of many layers of interrelated calls


ActiveRecord::Base.transaction do
  MyModel.find(1) #ActiveRecord::NotFound
end # should capture the full time until the error propagation

Signed-off-by: José Valim <>
@jaggederest jaggederest Change event namespace ordering to most-significant first [#4504 stat…

More work still needs to be done on some of these names
(render_template.action_view and render_template!.action_view particularly)
but this allows (for example) /^sql/ to subscribe to all
the various ORMs without further modification

Signed-off-by: José Valim <>
@josevalim josevalim Event should be aware if yielded block failed or not. a76c7e6
@dchelimsky dchelimsky move FixtureResolver to a file that is accessible outside Rails' own …

[#4522 state:resolved]

Signed-off-by: José Valim <>
@dchelimsky dchelimsky add tests for FixtureResolver
Signed-off-by: José Valim <>
@dchelimsky dchelimsky add NullResolver
[#4523 state:resolved]

Signed-off-by: José Valim <>
@fxn fxn adds test coverage for Date.current vs in Date.(yesterday|…
…tomorrow) implementation
@ziggurism ziggurism grammatical error 'uses' -> 'use' 2a09b8e
Commits on May 03, 2010
@josevalim josevalim Make backtrace_cleaner work as expected. Prior to this patch, the Ful…
…l Trace rarely showed the full trace. Also, increase performance considerably.
@lawrencepit lawrencepit Favor %{} in all code instead of (deprecated) {{}} as interpolation s…
…yntax for I18n

Signed-off-by: José Valim <>
@josevalim josevalim Update I18n gem to 0.4.0.beta1 [#4525 state:resolved]. 36fc489
@dchelimsky dchelimsky Eliminate false positives when passing symbols to assert_template
Signed-off-by: José Valim <>
@dchelimsky dchelimsky move assert_template tests to their own test case [#4501 state:resolved]
Signed-off-by: José Valim <>
@norman norman Fix transliteration rule example in docs. [#4526 state:resolved]
Signed-off-by: Xavier Noria <>
@fxn fxn fixes colon in previous YAML example 34d5725
@fxn fxn adds a comment explaining why BigDecimal#as_json returns a JSON string 9e085a9
@fxn fxn BigDecimal#as_json does not really specify the F format, it delegates…
… that to whatever BigDecimal#to_s default format is, do the same in its test
@fxn fxn date/conversions needs time/calculations for (utc|local)_time 6704d8c
Commits on May 04, 2010
logylaps typo 'main.cs' -> 'main.css' 6658c95
logylaps textile typo 'h6(:has_many-group)' -> 'h6(#has_many-group)' 387e16a
logylaps typo. missing 'if' 8770b8c
mica eked typo "<image />" -> "<img />" 1357b65
mica eked typo 'follow' -> 'following' 3190fcb
@josiahivey josiahivey image_tag should be audio_tag 015114c
@josiahivey josiahivey Change typo 'image' to 'audio file' 44a9896
@lifo lifo Use class_inheritable_accessor for connection_handler 841c01f
@mikel mikel Adding more docs to ActionMailer fb30feb
@mikel mikel Cleaning up Action Mailer spelling with and without the space 058f7fe
@ziggurism ziggurism grammatical error 'uses' -> 'use' c8d03fb
logylaps typo 'main.cs' -> 'main.css', and textile typo 'h6(:has_many-group)' …
…-> 'h6(#has_many-group)', and typo. missing 'if'
mica eked typo "<image />" -> "<img />", and typo 'follow' -> 'following' d5e3c49
@josiahivey josiahivey image_tag should be audio_tag, and change typo 'image' to 'audio file' 0dd3b46
@fxn fxn Merge remote branch 'rails/master' 583b60d
@brianmario brianmario Allow pre-casted values (other than nil) to pass through from calcula…
…tions un-touched

[#4514 state:committed]

Signed-off-by: Jeremy Kemper <>
@rubymerchant rubymerchant Active Model JSON serializer now supports custom root option
[#4515 state:committed]

Signed-off-by: Jeremy Kemper <>
@mat813 mat813 Use primary key in conditions, not 'id' [#4395 state:resolved]
Signed-off-by: Pratik Naik <>
@fxn fxn let Time.time_with_datetime_fallback handle properly years in the ran…
…ge 0..138
@brianmario brianmario add support for mysql2 adapter to dbconsole
[#4532 state:committed]

Signed-off-by: Jeremy Kemper <>
@fxn fxn adds Date#to_time refinement from previous commit to the CHANGELOG f2072a3
Commits on May 05, 2010
@spastorino spastorino typo 'Provivdes' -> 'Provides' b38639a
@wycats wycats Update hidden namespace mechanism to work better with alternate choic…
…es and to support full namespaces (not just entire groups)
@ernie ernie Prevent calling regexp on symbol in Ruby 1.9 in association_proxy
Signed-off-by: Pratik Naik <>
@anildigital anildigital Updated guide to inform issues with unsupported Ruby versions. 6071b47
Commits on May 06, 2010
Carl Lerche Expand paths to app builders relative to the working directory 6d7f279
@ernie ernie Fix unintuitive behavior with multiple order and group clauses
[#4545 state:committed]

Signed-off-by: Jeremy Kemper <>
Commits on May 07, 2010
@rohit rohit Migrations, rewrote a sentence for clarity. d3e405c
@lawrencepit lawrencepit Fix parsing xml input by ActionDispatch::ParamsParser
[#4437 state:committed]

Signed-off-by: Jeremy Kemper <>
@rohit rohit migration, correct file and created a code sample out of it. 2cc1686
@spastorino spastorino Make find_or_create and find_or_initialize work mixing explicit param…
…eters and a hash [#4457 state:committed]

Signed-off-by: Jeremy Kemper <>
Commits on May 08, 2010
@eparreno eparreno Add index length support for MySQL [#1852 state:resolved]

  add_index(:accounts, :name, :name => 'by_name', :length => 10)
  => CREATE INDEX by_name ON accounts(name(10))

  add_index(:accounts, [:name, :surname], :name => 'by_name_surname', :length => {:name => 10, :surname => 15})
  => CREATE INDEX by_name_surname ON accounts(name(10), surname(15))

Signed-off-by: Pratik Naik <>
@josevalim josevalim Revert "Add index length support for MySQL [#1852 state:open]"
This commit breaks dumping a few tables, as the sessions table.
To reproduce, just create a new application and:

  rake db:sessions:create
  rake db:migrate
  rake db:test:prepare

And then look at the db/schema.rb file (ht: Sam Ruby).

This reverts commit 5b95730.
@rubys rubys get the rescue error page back [#4536 state:resolved] 788684d
@fxn fxn add test coverage for (last|next)_year on leap years 7184a9e
@spastorino spastorino Here the intention was to assign to different objects 0b4211c
@joshk joshk updated AMo validations to use a context for valid? and invalid?, rem…
…oving the dependency on AR
@joshk joshk removed use of AR in AMo tests and removed testing of scopes (:on) in…
… individual validation tests and moved them to their own test file
@joshk joshk updated AR to work with the AMo model validation changes e17ff6d
@joshk joshk removed an old unused model in the AMo tests which also removes anoth…
…er AR dependency
@joshk joshk removed AR from all AMo tests, including any unneeded files (schema, …
…fixtures and test helper)
@fxn fxn Backports Date#>> from 1.9 so that calculations do the right thing ar…
…ound the calendar reform

Our next_month gives November for some late dates in September of 1582.
Related methods, last_*, and in general advance have the same issues.
This commit fixes those, see the test suite for expected behavior, which
we still run in 1.9 to ensure it matches as we do with other methods
defined in Date in 1.9.
@fxn fxn AS guide: documents some Date calculations (calendar reform details p…
@wycats wycats eliminate alias_method_chain from ActiveRecord d916c62
Commits on May 09, 2010
@spastorino spastorino Updates bundler information, now bundler has a homepage c31b386
@fxn fxn adds calendar reform test coverage for more relevant date calculations 2969543
@fxn fxn AS guide: adds a catchall note about date calculations around the cal…
…endar reform
@fxn fxn AS guide: you know, the 10th is not November 08d991a
@fxn fxn aliases Date#sunday to Date#end_of_week, for symmetry with existing a…
…lias Date#monday -> Date#beginning_of_week
@fxn fxn AS guide: more date calculation utilities 1ff3d95
@fxn fxn Merge remote branch 'rails/master' e1a0d86
@josevalim josevalim Use annoted source code in Template:Error to avoid special cases in t…
…he show exceptions middleware.
@josevalim josevalim Merge branch 'master' of 06eaf27
@joshk joshk corrected AR find_each and find_in_batches to raise when the user use…
…s select but does not specify the primary key

Signed-off-by: José Valim <>
@lifo lifo Improve code from 231d767 f75a6fe
@lifo lifo Revert "Revert "Add index length support for MySQL [#1852 state:open]""
This reverts commit 6626833.
@lifo lifo Make sure schema dumper doesnt throw up when there are no index lengths ce5827e
Commits on May 10, 2010
@josevalim josevalim Make sure valid? preceives the context as in ActiveModel API (ht: Car…
…los Antonio)
@joshk joshk corrected error message in session/cookie_store [#4546 state:resolved]
Signed-off-by: José Valim <>
Commits on May 11, 2010
@lifo lifo Succint save definition 1f675ea
@lifo lifo Use arel instead of sql strings 475d1d1
@lifo lifo Remove undocumented save_without_validation! 88b4a8f
@blakesmith blakesmith Make sure timestamp is properly referenced
Signed-off-by: José Valim <>
@fxn fxn Gemfile requires sqlite3-ruby 1.3.0.beta.1 75ddbfe
Commits on May 12, 2010
@spastorino spastorino type_cast_calculated_value refactor: value is never a Fixnum here. Fi…
…x test since SQLite returns Float.

[#4514 state:committed]

Signed-off-by: Jeremy Kemper <>
@fxn fxn revises the rdoc of #average according to 5f3bd55, and realigns when …
@spastorino spastorino Make use of to_xml and to_json in tests
Signed-off-by: Jeremy Kemper <>
@spastorino spastorino Refactor of active_model/naming.rb and allow collection and element t…
…o be writable

Signed-off-by: Jeremy Kemper <>
@spastorino spastorino Make ActiveResource serialize XML correctly when element_name is set.

Signed-off-by: Jeremy Kemper <>
@spastorino spastorino Revert "Refactor of active_model/naming.rb and allow collection and e…
…lement to be writable"

This reverts commit f7862b2.

Signed-off-by: José Valim <>
@spastorino spastorino Fixes to_json and to_xml for ActiveResource
Signed-off-by: José Valim <>
@fxn fxn defines prev_(month|year) in Date and Time to ease transition to 1.9,…
… and deprecates last_(month|year)
Commits on May 13, 2010
@joshk joshk validation macros can now be used within an instance 9131a88
@joshk joshk minor changes to instance level validations implementation based on f…
…eedback from José Valim
Commits on May 14, 2010
@mikel mikel Changed encoding behaviour of mail, so updated tests in actionmailer …
…and bumped mail version to 2.2.1

Signed-off-by: José Valim <>
@spastorino spastorino To allow proper fisting of stack trace
Signed-off-by: Jeremy Kemper <>
@neerajdotname neerajdotname Better code formatting and proper line numbers for stack traces
[#4596 state:resolved]

Signed-off-by: Jeremy Kemper <>
Commits on May 15, 2010
@dchelimsky dchelimsky Modified default_scope to merge with any pre-existing default_scope
and added AR::Base::clear_default_scope

- clear_default_scope provides users who rely on the old behaviour
  of each call to default_scope overwriting any previous default
  scopes an opportunity to maintain that behaviour.

[#4583 state:resolved]

Signed-off-by: José Valim <>
@stephencelis stephencelis Let label helpers accept blocks.
Signed-off-by: José Valim <>
@josevalim josevalim Improve previous patch a bit [#3645 state:resolved] d18a274
@spastorino spastorino ActiveResource shouldn't consider modules in the path
[#4529 state:committed]

Signed-off-by: José Valim <>
@marcandre marcandre Accept :alt => nil on image_tag [#4558 state:resolved]
Signed-off-by: José Valim <>
@adrianss adrianss Bundler deprecated options in Gemfile with application template using…
… method "gem" [#4534 state:resolved]

Signed-off-by: José Valim <>
@neerajdotname neerajdotname STI should not ignore type condition while applying scopes from paren…
…t class scopes

[#4507 state:resolved]

Signed-off-by: José Valim <>
@carlosantoniodasilva carlosantoniodasilva Add missing require to with_options [#4601 state:resolved]
Signed-off-by: José Valim <>
@jeroenvandijk jeroenvandijk Added Rake task rails:templates:copy to copy templates for customizat…
…ion [#4574 state:resolved]

Signed-off-by: José Valim <>
@wycats wycats Remove the need for a special action_mailer.url_for initializer that …
…loads before anything else
@wycats wycats Reorganized initializers a bit to enable better hooks for common case…
…s without the need for Railtie. Specifically, the following hooks were added:

* before_configuration: this hook is run immediately after the Application class 
  comes into existence, but before the user has added any configuration. This is
  the appropriate place to set configuration for your plugin
* before_initialize: This is run after all of the user's configuration has completed,
  but before any initializers have begun (in other words, it runs right after
* after_initialize: This is run after all of the initializers have run. It is an
  appropriate place for forking in a preforking setup

Each of these hooks may be used via ActiveSupport.on_load(name) { }. In all these cases, the context inside the block will be the Application object. This means that for simple cases, you can use these hooks without needing to create a Railtie.
@josevalim josevalim Update generators test. 6f0ed7a
@pacoguzman pacoguzman fix assert_select messages to its declaration behaviour
Signed-off-by: José Valim <>
Martin added convenience methods #notice and #alert to
Signed-off-by: José Valim <>
@anildigital anildigital Add tests for convenience methods #notice and #alert to [#4369

Signed-off-by: José Valim <>
@oboxodo oboxodo Fix for get_ids when including a belongs_to association on a has_many…
… association [#2896 state:resolved]

Signed-off-by: Pratik Naik <>
@jeffkreeftmeijer jeffkreeftmeijer partial counters with :as [#2804 state:resolved]
Signed-off-by: Jeremy Kemper <>
@spastorino spastorino Reset quoted_table_name after set_table_name [#4568 state:resolved]
Signed-off-by: Pratik Naik <>
@jeroenvandijk jeroenvandijk Make ActiveModel::Errors#add_on_blank and #add_on_empty accept an opt…
…ions hash and make various Validators pass their (filtered) options.

This makes it possible to pass additional options through Validators to message
generation. E.g. plugin authors want to add validates_presence_of :foo, :format
=> "some format".

Also, cleanup the :default vs :message options confusion in ActiveModel
validation message generation.

Also, deprecate ActiveModel::Errors#add_on_blank(attributes, custom_message) in
favor of ActiveModel::Errors#add_on_blank(attributes, options).

Original patch by Sven Fuchs, some minor changes and has been changed to be applicable to master again

[#4057 state:committed]

Signed-off-by: Jeremy Kemper <>
@jeffkreeftmeijer jeffkreeftmeijer make sure `as` is set before trying to build an #{as}_counter. [#2804

Signed-off-by: Jeremy Kemper <>
@jeremy jeremy Ruby 1.9: fix invalid rack response in test c5537c1
@josevalim josevalim Optimize the code added in fa99de0 f055bc0
@josevalim josevalim Revert "Make ActiveModel::Errors#add_on_blank and #add_on_empty accep…
…t an options hash and make various Validators pass their (filtered) options."

Having a huge array to whitelist options is not the proper way to handle this case. This means that the ActiveModel::Errors object should know about the options given in *all* validators and break the extensibility added by the validators itself. If the intent is to whitelist options before sending them to I18n, each validator should clean its respective options instead of throwing the responsibility to the Errors object.

This reverts commit bc1c8d5.
@zilkey zilkey Sending :id => nil to form helpers now properly omits the "id" html e…
…lement [#4559 state:resolved]

Signed-off-by: José Valim <>
@josevalim josevalim Ensure that eager_load actually takes place just after the middleware…
… stack is built by using another pattern.

Also create a engine_blank_point initializer to ensure any :before or :after hooks defined inside engines won't move the configuration initializers to other places.
@josevalim josevalim Expose remaining hooks to minimize the need for a Railtie based on fe…
…edback from plugin developers.
Commits on May 16, 2010
Elomar França Don't carry default value when changing column for a binary type on M…
…ySQL [#3234 state:resolved]

Signed-off-by: José Valim <>
@rohit rohit Fixed two failing tests in railties on 1.9.2-head [#4609 state:commited]
Signed-off-by: José Valim <>
@jeffkreeftmeijer jeffkreeftmeijer using :time_select when the attribute type is :time in the scaffold g…
…enerator. [#2377 state:resolved]

Signed-off-by: José Valim <>
@josevalim josevalim Move AD::Cascade to the bottom of the middleware stack. 99b38f3
@jeffkreeftmeijer jeffkreeftmeijer Added assert_attribute_type to clean up GeneratedAttributeTest [#2377

Signed-off-by: José Valim <>
@josevalim josevalim Rename assert_attribute_type to asser_field_type. 1a2d556
@kossnocorp kossnocorp Fix Hash#index deprecated warning in 1.9.x [#4600 state:resolved]
Signed-off-by: José Valim <>
@rohit rohit Fixed 1 failure and 2 errors in ActionPack testsuite [#4613 state:com…

Signed-off-by: José Valim <>
@pleax pleax added support for html attributes in options_for_select [#2165]
Signed-off-by: José Valim <>
@josevalim josevalim Add some comments related to Hash method check. 6cabc9a
@HusseinMorsy HusseinMorsy Fixed 1 failure in ActionPack testsuite [#4613 state:resolved]
Signed-off-by: José Valim <>
@simonjefford simonjefford Check blocks are not incorrectly detected when compiling erubis templ…
…ates [#4575 state:resolved]

Signed-off-by: José Valim <>
@Wijnand Wijnand Postgresql doesn't allow to change a string type column to a binary t…
…ype. Skip this test for postgresql for now. [#4616 state:resolved]

Signed-off-by: José Valim <>
@spastorino spastorino Make use of assert_equal to test equallity between object assert expe…
…cts and object and a message of error

[#4611 state:committed]

Signed-off-by: José Valim <>
@spastorino spastorino Added missing require, we are using bind method defined on active_sup…

[#4610 state:committed]

Signed-off-by: José Valim <>
@rizwanreza rizwanreza Takes out stale methods relating to edge_rails_version
Signed-off-by: José Valim <>
@rizwanreza rizwanreza Take out stale tasks from Actionpack's Rakefile [#4619 state:resolved]
Signed-off-by: José Valim <>
@franckverrot franckverrot I have updated the documentation according to ticket #4263 about fixt…
…ures and set_fixture_class

Signed-off-by: José Valim <>
@kossnocorp kossnocorp Added rails command aliases (s g c db) to reserved words in app gener…
…ator [#4602 state:resolved]

Signed-off-by: José Valim <>
@simonjefford simonjefford Tests for new reserved words [#4602 state:resolved]
Signed-off-by: José Valim <>
@spastorino spastorino Gemfile requires sqlite3-ruby = 1.3.0.beta.2
Signed-off-by: Xavier Noria <>
@no6v no6v prevent to run fixture accessor (e.g. test_foos for TestFoo model) as…
… a test case [#2992 state:resolved]

Signed-off-by: Wijnand Wiersma <>
Signed-off-by: José Valim <>
@priit priit Added nokogiri dependency to Gemfile [#4617 state:resolved]
Signed-off-by: José Valim <>
@wycats wycats Initial work to improve the state of encodings for templates af0d1a8
@wycats wycats Significantly improved internal encoding heuristics and support.
* Default Encoding.default_internal to UTF-8
* Eliminated the use of file-wide magic comments to coerce code evaluated inside the file
* Read templates as BINARY, use default_external or template-wide magic comments
  inside the Template to set the initial encoding
  * This means that template handlers in Ruby 1.9 will receive Strings encoded
    in default_internal (UTF-8 by default)
* Create a better Exception for encoding issues, and use it when the template
  source has bytes that are not compatible with the specified encoding
* Allow template handlers to opt-into handling BINARY. If they do so, they
  need to do some of their own manual encoding work
* Added a "Configuration Gotchas" section to the intro Rails Guide instructing
  users to use UTF-8 for everything
* Use config.encoding= in Ruby 1.8, and raise if a value that is an invalid
  $KCODE value is used

* Fixed a few tests that were assert() rather than assert_equal() and
  were caught by Minitest requiring a String for the message
* Fixed a test where an assert_select was misformed, also caught by
  Minitest being more restrictive
* Fixed a test where a Rack response was returning a String rather
  than an Enumerable
@spastorino spastorino Change on Array extension from rand => random_element [#4555 state:co…

Signed-off-by: Xavier Noria <>