aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Fix a few typos [ci skip]Robin Dupret2014-12-242-5/+6
|
* Merge pull request #18183 from danbernier/masterArun Agrawal2014-12-241-1/+1
|\ | | | | Fix bug in ActionMailer guide.
| * Fix bug in ActionMailer guide.Dan Bernier2014-12-241-1/+1
|/ | | | | When setting a mailer's default from address, you have to pass a hash with a `:from` key; you can't pass just an email address.
* Merge pull request #18107 from mkdynamic/add-reply-to-mail-toSean Griffin2014-12-242-4/+5
|\ | | | | Add support for Reply-To field in mail_to helper
| * Add support for Reply-To field in mail_to helperMark Dodwell2014-12-202-4/+5
| |
* | Merge pull request #18180 from vipulnsward/remove-unnecessary-name-passingSean Griffin2014-12-241-4/+4
|\ \ | | | | | | Removed unused parameter to cookie serialize method
| * | - Removed unused parameter to cookie serialize method and fixed usage of the ↵Vipul A M2014-12-241-4/+4
|/ / | | | | | | same elsewhere
* | Merge pull request #18159 from ↵Sean Griffin2014-12-231-1/+1
|\ \ | | | | | | | | | | | | M7/docs-active_record-update_query_method_docs_with_full_description Describe full behaviour of Active Record's attribute query methods
| * | Clarify that query methods have a custom definition of whether a numeric ↵Michael D.W. Prendergast2014-12-231-2/+2
| | | | | | | | | | | | | | | value is present. [ci skip] The way Active Record query methods handle numeric values is a special case, and is not part of Rails's standard definition of present. This update attempts to make this more clear in the docs, so that people don't expect Object#present? to return false if used on a number that is zero.
| * | Clarify that the word present refers to Object#present?. [ci skip]Michael D.W. Prendergast2014-12-231-36/+2
| | | | | | | | | Update Active Record's attribute query methods documentation to clarify that whether an attribute is present is based on Object#present?. This gives people a place to go see what the exact definition of presence is. [ci skip]
| * | Update Active Record's attribute query methods documentation to describe its ↵Michael D.W. Prendergast2014-12-221-2/+36
| | | | | | | | | | | | full behaviour. [ci skip]
* | | removes superfluous regexp groupXavier Noria2014-12-231-1/+1
| | |
* | | warn about reading guides in GitHubXavier Noria2014-12-2348-0/+96
| | | | | | | | | | | | References #18148.
* | | third test to warn against reading guides in GitHubXavier Noria2014-12-232-2/+2
| | |
* | | second test to warn against reading guides in GitHubXavier Noria2014-12-232-3/+2
| | |
* | | proof of concept, need to check in GitHubXavier Noria2014-12-232-0/+4
| | |
* | | Merge pull request #18174 from bogdan/cleanup_has_many_though_association_countSean Griffin2014-12-231-15/+0
|\ \ \ | | | | | | | | Remove unneeded special case to calculate size for has_many :through
| * | | Remove unneeded special case to calculate size for has_many :throughBogdan Gusiev2014-12-231-15/+0
| | | | | | | | | | | | | | | | | | | | All cases are properly handled in CollectionAssociation for all subclasses of this association
* | | | Merge pull request #18170 from tgxworld/add_docs_for_rails_application_secretsSean Griffin2014-12-231-1/+15
|\ \ \ \ | | | | | | | | | | | | | | | [ci skip]
| * | | | Rails::Application#secrets should be documented.Guo Xiang Tan2014-12-241-1/+15
| | | | |
* | | | | Don't treat `nil` as changed in serialized typesSean Griffin2014-12-232-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We were ignoring the `default_value?` escape clause in the serialized type, which caused the default value to always be treated as changed. Fixes #18169
* | | | | Refactor a common class to reduce the duplication for `references`Sean Griffin2014-12-232-59/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code for `TableDefinition#references` and `SchemaStatements#add_reference` were almost identical both structurally, and in terms of domain knowledge. This removes that duplication into a common class, using the `Table` API as the expected interface of its collaborator.
* | | | | Fix syntax warningSean Griffin2014-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | This isn't Seattle.rb, @senny. ;)
* | | | | Merge pull request #18167 from al2o3cr/checkin_connection_leakSean Griffin2014-12-232-4/+36
|\ \ \ \ \ | | | | | | | | | | | | Fix connection leak when a thread checks in additional connections.
| * | | | | Fix connection leak when a thread checks in additional connections.Matt Jones2014-12-232-4/+36
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code in `ConnectionPool#release` assumed that a single thread only ever holds a single connection, and thus that releasing a connection only requires the owning thread_id. There is a trivial counterexample to this assumption: code that checks out additional connections from the pool in the same thread. For instance: connection_1 = ActiveRecord::Base.connection connection_2 = ActiveRecord::Base.connection_pool.checkout ActiveRecord::Base.connection_pool.checkin(connection_2) connection_3 = ActiveRecord::Base.connection At this point, connection_1 has been removed from the `@reserved_connections` hash, causing a NEW connection to be returned as connection_3 and the loss of any tracking info on connection_1. As long as the thread in this example lives, connection_1 will be inaccessible and un-reapable. If this block of code runs more times than the size of the connection pool in a single thread, every subsequent connection attempt will timeout, as all of the available connections have been leaked. Reverts parts of 9e457a8654fa89fe329719f88ae3679aefb21e56 and essentially all of 4367d2f05cbeda855820e25a08353d4b7b3457ac
* | | | | Merge pull request #18166 from merongivian/search_field_refactorSean Griffin2014-12-232-10/+12
|\ \ \ \ \ | | | | | | | | | | | | Remove block from super
| * | | | | Remove block from superJose Añasco2014-12-232-10/+12
| | | | | |
* | | | | | Changelog for 99a6f9e60ea55924b44f894a16f8de0162cf2702Sean Griffin2014-12-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Here you go, @senny. :grin:
* | | | | | Merge pull request #18145 from georgemillo/patch-2Sean Griffin2014-12-231-0/+3
|\ \ \ \ \ \ | | | | | | | | | | | | | | Add information about "allow_destroy" requiring an ID. [ci skip]
| * | | | | | Add information about "allow_destroy" requiring an ID. [ci skip]George Millo2014-12-231-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I just wasted an absurd amount of time trying to figure out why my model wasn't being deleted even though I was setting `_destroy` to true like the instructions said. Making the documentation a little bit clear so that someone like me doesn't waste their time in future.
* | | | | | | Merge Pull Request #18157Sean Griffin2014-12-233-1/+20
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG.md
| * | | | | | | Don't raise on out-of-range datetimes passed by a userGrey Baker2014-12-233-1/+20
| | |_|/ / / / | |/| | | | |
* | | | | | | docs, replace ` with + for proper rdoc output. [ci skip]Yves Senn2014-12-232-4/+4
| | | | | | |
* | | | | | | Replace deprecated `#load_schema` with `#load_schema_for`.Yves Senn2014-12-233-24/+26
| | | | | | |
* | | | | | | cleanup CHANGELOGs. [ci skip]Yves Senn2014-12-233-5/+5
| | | | | | |
* | | | | | | Merge pull request #18162 from romaimperator/masterYves Senn2014-12-234-1/+18
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Fixing numeric attrs when set to same negative value
| * | | | | | | Fixing numeric attrs when set to same negative valueDaniel Fox2014-12-234-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This bug occurs when an attribute of an ActiveRecord model is an ActiveRecord::Type::Integer type or a ActiveRecord::Type::Decimal type (or any other type that includes the ActiveRecord::Type::Numeric module. When the value of the attribute is negative and is set to the same negative value, it is marked as changed. Take the following example of a Person model with the integer attribute age: class Person < ActiveRecord::Base # age :integer(4) end The following will produce the error: person = Person.new(age: -1) person.age = -1 person.changes => { "age" => [-1, -1] } person.age_changed? => true The problematic line is here: module ActiveRecord module Type module Numeric ... def non_numeric_string?(value) # 'wibble'.to_i will give zero, we want to make sure # that we aren't marking int zero to string zero as # changed. value.to_s !~ /\A\d+\.?\d*\z/ end end end end The regex match doesn't accept numbers with a leading '-'.
* | | | | | | | Merge pull request #18163 from y-yagi/fix_nodoc_typoYves Senn2014-12-231-2/+2
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | | | | | | | | fix typo in nodoc [ci skip]
| * | | | | | | fix typo in nodocyuuji.yaginuma2014-12-231-1/+1
|/ / / / / / /
* | | | | | | Merge pull request #18158 from YayConnolly/masterSean Griffin2014-12-221-0/+3
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Describe gotcha for 'status' option [ci skip]
| * | | | | | Describe gotcha for 'status' option [ci skip]J Connolly2014-12-221-0/+3
|/ / / / / /
* | | | | | Merge pull request #18156 from claudiob/better-record-identifier-testsSean Griffin2014-12-222-0/+55
|\ \ \ \ \ \ | | | | | | | | | | | | | | Better tests for AV::RecordIdentifier
| * | | | | | Better tests for AV::RecordIdentifierclaudiob2014-12-232-0/+55
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit intends to clarify the scope of ActionView::RecordIdentifier methods `dom_id` and `dom_class`. Most of the current documentation comes from da257eb8 (7 years ago) when the decoupling of ActionView, ActiveRecord and ActiveModel was not a concern. Since then, steps have been taken to reach such decoupling. Therefore I think it's important to show that ActionView::RecordIdentifier **does not strictly depend on the ActiveRecord API**: any class `Post` implementing `post.to_key` and `post.model_name.param_key` will work. This commit adds a test to prove that ActionView::RecordIdentifier methods can also be used on objects that do not subclass ActiveRecord::Base.
* | | | | | Merge pull request #18147 from andreynering/guides-line-breaks-fixSean Griffin2014-12-222-12/+3
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | Do not use line breaks on notes [ci skip]
| * | | | | Do not use line breaks on notes [ci skip]Andrey Nering2014-12-222-12/+3
| |/ / / / | | | | | | | | | | | | | | | References #18138
* | | | | Improve the performance of reading belongs_to associationsSean Griffin2014-12-221-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `ActiveRecord::Base#[]` has overhead that was introduced in 4.2. The `foo["id"]` working with PKs other than ID isn't really a case that we want to support publicly, but deprecating was painful enough that we avoid it. `_read_attribute` was introduced as the faster alternative for use internally. By using that, we can save a lot of overhead. We also save some overhead by reading the attribute one fewer times in `stale_state`. Fixes #18151
* | | | | Don't perform statement caching for `find` when called from a scopeSean Griffin2014-12-223-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is a method defined such as `find_and_do_stuff(id)`, which then gets called on an association, we will perform statement caching and the parent ID will not change on subsequent calls. Fixes #18117
* | | | | Don't calculate all in-place changes to determine if attribute_changed?Sean Griffin2014-12-223-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling `changed_attributes` will ultimately check if every mutable attribute has changed in place. Since this gets called whenever an attribute is assigned, it's extremely slow. Instead, we can avoid this calculation until we actually need it. Fixes #18029
* | | | | Don't wrap `create_table` in a transaction for tests which run on MySQLSean Griffin2014-12-221-3/+1
| | | | | | | | | | | | | | | | | | | | PG will warn without it, but mysql2 errors out.
* | | | | Add test missed by a03ea684efc3505647cf0327a501aa2dbb591ad2Sean Griffin2014-12-221-2/+3
| | | | |