Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | | | | only cache the primary key column in one place | Aaron Patterson | 2013-06-13 | 1 | -1/+1 | |
| | | | | | ||||||
| * | | | | these methods are never called, so remove them | Aaron Patterson | 2013-06-13 | 1 | -8/+0 | |
| | | | | | ||||||
| * | | | | This test does not test anything that happens in the real world. If you | Aaron Patterson | 2013-06-13 | 1 | -7/+0 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | recreate the models without mucking with internal caches of the relation objects, then the test fails. For example: class Man < ActiveRecord::Base has_many :interests end class Interest < ActiveRecord::Base belongs_to :man end Then do this test: def test_validate_presence_of_parent_fails_without_inverse_of repair_validations(Interest) do Interest.validates_presence_of(:man) assert_no_difference ['Man.count', 'Interest.count'] do man = Man.create(:name => 'John', :interests_attributes => [{:topic=>'Cars'}, {:topic=>'Sports'}]) assert_not_predicate man.errors[:"interests.man"], :empty? end end end The test will fail. This is a bad test, so I am removing it. | |||||
| * | | | | Merge branch 'master' of github.com:lifo/docrails | Vijay Dev | 2013-06-14 | 5 | -29/+94 | |
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: guides/source/upgrading_ruby_on_rails.md | |||||
| | * | | | | copy edits [ci skip] | Vijay Dev | 2013-06-14 | 1 | -19/+15 | |
| | | | | | | ||||||
| | * | | | | doc: renaming table name to follow the file's standards | Thiago Pinto | 2013-06-08 | 1 | -2/+2 | |
| | | | | | | ||||||
| | * | | | | instructions for variations and alternatives for ActiveRecord#find | Thiago Pinto | 2013-06-08 | 1 | -1/+35 | |
| | | | | | | ||||||
| | * | | | | explaining ActiveRecord#first in rails 3 and 4 | Thiago Pinto | 2013-06-08 | 1 | -0/+13 | |
| | | | | | | ||||||
| | * | | | | lists the options for find_each and find_in_batches | Thiago Pinto | 2013-06-07 | 1 | -17/+37 | |
| | | | | | | ||||||
| | * | | | | using Model.all.find_each in rails 3 raises an error and should not be ↵ | Thiago Pinto | 2013-06-07 | 1 | -2/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | | recommended | |||||
| | * | | | | minor comments cleanup | Neeraj Singh | 2013-05-27 | 1 | -3/+4 | |
| | | | | | | ||||||
| | * | | | | enhanced comments for foreign_key_present? method | Neeraj Singh | 2013-05-23 | 1 | -3/+4 | |
| | | | | | | ||||||
| | * | | | | update_counters accepts a hash, not an array of hashes | Michael Kozono | 2013-05-21 | 1 | -1/+1 | |
| | | | | | | ||||||
| * | | | | | oops. step away from the keyboard aaron. :cry: | Aaron Patterson | 2013-06-13 | 1 | -1/+1 | |
| | | | | | | ||||||
| * | | | | | fix caching of automatic inverse of. :bomb: | Aaron Patterson | 2013-06-13 | 1 | -1/+3 | |
| | | | | | | ||||||
| * | | | | | let the object stay in charge of internal cache invalidation | Aaron Patterson | 2013-06-13 | 2 | -13/+6 | |
| | | | | | | ||||||
| * | | | | | reduce automatic_inverse_of caching logic | Aaron Patterson | 2013-06-13 | 1 | -30/+16 | |
| | | | | | | ||||||
| * | | | | | active_record should always be set. Do or do not, there is no try | Aaron Patterson | 2013-06-13 | 1 | -1/+1 | |
| | | | | | | ||||||
| * | | | | | push ambiguous reflection warning down to reflection name calculation | Aaron Patterson | 2013-06-13 | 1 | -23/+28 | |
| | | | | | | ||||||
| * | | | | | clean up ivar assignment | Aaron Patterson | 2013-06-13 | 1 | -3/+2 | |
| | | | | | | ||||||
| * | | | | | Ambiguous reflections are on :through relationships are no longer supported. | Aaron Patterson | 2013-06-13 | 1 | -1/+27 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For example, you need to change this: class Author < ActiveRecord::Base has_many :posts has_many :taggings, :through => :posts end class Post < ActiveRecord::Base has_one :tagging has_many :taggings end class Tagging < ActiveRecord::Base end To this: class Author < ActiveRecord::Base has_many :posts has_many :taggings, :through => :posts, :source => :tagging end class Post < ActiveRecord::Base has_one :tagging has_many :taggings end class Tagging < ActiveRecord::Base end | |||||
| * | | | | | Merge pull request #10425 from ↵ | Rafael Mendonça França | 2013-06-13 | 4 | -38/+47 | |
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ranjaykrishna/push_add_column_options_to_schema_creation Push add column options to schema creation | |||||
| | * | | | | | Moving add_column_options! up to SchemaCreation | jeran | 2013-06-12 | 4 | -38/+47 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | removed two instances of add_column_options! from abstract_mysql_adapter reworked rename_column_sql to remove add_column_options from schema_statements changed to use new hash syntax. | |||||
| * | | | | | | sometimes singularize does not work, so we get a list of two strings. just ↵ | Aaron Patterson | 2013-06-12 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | uniq them | |||||
| * | | | | | | no need to cache hash lookups | Aaron Patterson | 2013-06-12 | 1 | -1/+1 | |
| | | | | | | | ||||||
| * | | | | | | split aggregates from association reflections to avoid is_a checks later | Aaron Patterson | 2013-06-12 | 1 | -5/+11 | |
| | | | | | | | ||||||
| * | | | | | | remove unnecessary is_a check | Aaron Patterson | 2013-06-12 | 1 | -2/+1 | |
| | | | | | | | ||||||
| * | | | | | | we should apply the default scope before querying | Aaron Patterson | 2013-06-12 | 1 | -1/+2 | |
| | | | | | | | ||||||
| * | | | | | | bind values should not be merged between scopes | Aaron Patterson | 2013-06-11 | 1 | -1/+1 | |
| | | | | | | | ||||||
| * | | | | | | stop adding a new method for touch callbacks | Aaron Patterson | 2013-06-11 | 1 | -29/+21 | |
| | | | | | | | ||||||
| * | | | | | | push the touch method outside the eval | Aaron Patterson | 2013-06-11 | 1 | -13/+34 | |
| | | | | | | | ||||||
| * | | | | | | remove unused variable | Aaron Patterson | 2013-06-11 | 1 | -1/+0 | |
| | | | | | | | ||||||
| * | | | | | | check whether the association is constructible rather than checking constants | Aaron Patterson | 2013-06-11 | 1 | -3/+3 | |
| | | | | | | | ||||||
| * | | | | | | use attribute methods for finding key values rather than generating method names | Aaron Patterson | 2013-06-11 | 1 | -3/+3 | |
| | | | | | | | ||||||
| * | | | | | | push belongs_to counter cache method to a single method | Aaron Patterson | 2013-06-11 | 1 | -17/+18 | |
| | | | | | | | ||||||
| * | | | | | | push before_destroy counter cache method to a single method | Aaron Patterson | 2013-06-11 | 1 | -12/+17 | |
| | | | | | | | ||||||
| * | | | | | | remove evaled belongs_to counter cache method | Aaron Patterson | 2013-06-11 | 1 | -8/+22 | |
| | | | | | | | ||||||
| * | | | | | | adding callbacks should be private | Aaron Patterson | 2013-06-11 | 1 | -4/+6 | |
| | | | | | | | ||||||
| * | | | | | | remove evals from the association | Aaron Patterson | 2013-06-11 | 1 | -8/+2 | |
| | | | | | | | ||||||
| * | | | | | | reduce evals in depdendent associations | Aaron Patterson | 2013-06-11 | 1 | -1/+2 | |
| | | | | | | | ||||||
| * | | | | | | Remove fall back and column restrictions for `count`. | Yves Senn | 2013-06-09 | 1 | -10/+6 | |
| | | | | | | | ||||||
| * | | | | | | cleanup whitespace in relation.rb | Yves Senn | 2013-06-09 | 1 | -1/+1 | |
| | | | | | | | ||||||
| * | | | | | | Getting rid of the +automatic_inverse_of: false+ option in associations in favor | wangjohn | 2013-06-08 | 5 | -14/+19 | |
| | |_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | of using +inverse_of: false+ option. Changing the documentation and adding a CHANGELOG entry for the automatic inverse detection feature. | |||||
| * | | | | | Revert "Merge pull request #10539 from davidcelis/ar-sql-improvements" | Jon Leighton | 2013-06-07 | 1 | -1/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 257fa6897d9c85da16b7c9fcb4ae3008198d320e, reversing changes made to 94725b81f5588e4b0f43222c4f142c3135941b4b. The build failed https://travis-ci.org/rails/rails/builds/7883546 | |||||
| * | | | | | ActiveRecord::Relation#blank? should `LIMIT 1` | David Celis | 2013-06-07 | 1 | -5/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an SQL improvement to ActiveRecord::Relation#blank?. Currently, it calls `to_a` on the Relation, which loads all records in the association, and calls `blank?` on the loaded Array. There are other ways, however, to check the emptiness of an association that are far more performant. `#empty?`, `#exists?` and `#any?` all attach a `LIMIT 1` to the SQL query before firing it off, which is a nice query improvement. `#blank?` should do the same! Bonus performance improvements will also happen for `#present?`, which merely calls the negation of `#blank?` Signed-off-by: David Celis <me@davidcel.is> | |||||
| * | | | | | Merge pull request #10561 from Empact/nix-throwresult | Jon Leighton | 2013-06-07 | 4 | -21/+21 | |
| |\ \ \ \ \ | | |_|_|_|/ | |/| | | | | Rather than raising ThrowResult when construct_limited_ids_conditions comes up empty, set the relation to NullRelation and rely on its results. | |||||
| | * | | | | Rather than raising ThrowResult when construct_limited_ids_conditions comes ↵ | Ben Woosley | 2013-05-10 | 3 | -21/+15 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | up empty, set the relation to NullRelation and rely on its results. This will help avoid errors like 2fcafee250ee2, because in most cases NullRelation will do the right thing. Minor bonus is avoiding the use of exceptions for flow control. | |||||
| | * | | | | Make NullRelation a bit more like a real relation by returning 0 for ↵ | Ben Woosley | 2013-05-10 | 1 | -1/+5 | |
| | | | | | | | | | | | | | | | | | | | | | | | | #calculate(:count) | |||||
| | * | | | | No point in memoizing a simple literal string. | Ben Woosley | 2013-05-10 | 1 | -1/+1 | |
| | | | | | | ||||||
| | * | | | | Fix that #pluck wasn't rescuing ThrowResult, meaning it would blow up when ↵ | Ben Woosley | 2013-05-10 | 1 | -0/+2 | |
| | | | | | | | | | | | | | | | | | | | | | | | | failing to construct_limited_ids_condition. |