Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | eliminate function that is only used in one place | Aaron Patterson | 2013-10-08 | 1 | -7/+2 | |
| | ||||||
* | we will always detect the same node, so just pass the node in | Aaron Patterson | 2013-10-08 | 1 | -7/+2 | |
| | ||||||
* | we do not need to to_s the name all the time | Aaron Patterson | 2013-10-08 | 1 | -5/+3 | |
| | ||||||
* | parent is guaranteed to be the same | Aaron Patterson | 2013-10-08 | 1 | -4/+1 | |
| | | | | | since we are searching a tree, the current level should be consistent, so we don't have to inspect the parent class / table | |||||
* | reduce number of comparisons and array allocations | Aaron Patterson | 2013-10-08 | 1 | -11/+10 | |
| | | | | | Just inspecting the children nodes will reduce the number of comparisons we have to do (since it is limited to the child size) | |||||
* | rename the variable to make more sense with a tree | Aaron Patterson | 2013-10-08 | 1 | -7/+7 | |
| | ||||||
* | walk the tree rather than generating a hash and walking it | Aaron Patterson | 2013-10-08 | 1 | -21/+10 | |
| | ||||||
* | do not convert the tree to a list just for the first node | Aaron Patterson | 2013-10-08 | 1 | -1/+1 | |
| | ||||||
* | generate the association hash from the top down | Aaron Patterson | 2013-10-08 | 1 | -17/+15 | |
| | | | | | This prevents us from walking back up the parent tree once for each leaf. | |||||
* | store join parts in a tree | Aaron Patterson | 2013-10-08 | 1 | -16/+45 | |
| | ||||||
* | join parts in `build` are *always* new, so don't bother checking | Aaron Patterson | 2013-10-08 | 1 | -1/+2 | |
| | ||||||
* | stop looking up the reflection multiple times | Aaron Patterson | 2013-10-08 | 1 | -6/+5 | |
| | ||||||
* | cache join associations and join base on the stack | Aaron Patterson | 2013-10-08 | 1 | -4/+11 | |
| | | | | No reason to decompose the join objects on every iteration | |||||
* | use the API rather than accessing underlying data structures | Aaron Patterson | 2013-10-08 | 1 | -1/+1 | |
| | ||||||
* | associations is always a hash | Aaron Patterson | 2013-10-08 | 1 | -19/+13 | |
| | ||||||
* | keys are always symbols | Aaron Patterson | 2013-10-08 | 1 | -2/+4 | |
| | ||||||
* | we can get a list of reflections from the join parts, so let's remove | Aaron Patterson | 2013-10-08 | 1 | -3/+5 | |
| | | | | the @reflections ivar. | |||||
* | transform the association input so we can avoid type checks later. | Aaron Patterson | 2013-10-08 | 1 | -17/+31 | |
| | | | | | We should consider moving the input munging outside the class instantiation | |||||
* | we know the keys are scalars, so avoid some typechecking | Aaron Patterson | 2013-10-08 | 1 | -8/+12 | |
| | ||||||
* | this method is only ever called with a reflection | Aaron Patterson | 2013-10-08 | 1 | -6/+2 | |
| | | | | Stop typechecking the parameter. We know the type. | |||||
* | don't access the reflections hash | Aaron Patterson | 2013-10-08 | 1 | -2/+6 | |
| | | | | The reflections hash is supposed to be private, so let's use the API. | |||||
* | build association tree thing on demand. | Aaron Patterson | 2013-10-08 | 1 | -6/+11 | |
| | | | | | `instantiate` is only called once, so there is no reason to cache the data structure on the instance and mutate itself. | |||||
* | hide join_parts internals from other classes | Aaron Patterson | 2013-10-08 | 1 | -6/+17 | |
| | ||||||
* | decouple JoinAssociation from JoinDependency | Aaron Patterson | 2013-10-08 | 1 | -1/+1 | |
| | ||||||
* | @associations can never have an array, so remove the dead code | Aaron Patterson | 2013-10-08 | 1 | -4/+0 | |
| | ||||||
* | typecast records returned from the db rather than to_sing everything | Aaron Patterson | 2013-10-08 | 1 | -12/+17 | |
| | ||||||
* | extract the string handling part to a method. | Aaron Patterson | 2013-10-07 | 1 | -15/+15 | |
| | | | | | | We know the structure passed in to the `construct` method will be a hash, so we don't need to test it all the time. The key value will be a symbol or string, so handle it with the special method | |||||
* | remove more dead code | Aaron Patterson | 2013-10-07 | 1 | -2/+0 | |
| | | | | | We control the inputs to `construct`, so the wrong type shouldn't be passed in ever. | |||||
* | this code is never used, remove it | Aaron Patterson | 2013-10-07 | 1 | -4/+0 | |
| | ||||||
* | inject down the hash cache | Aaron Patterson | 2013-10-03 | 1 | -3/+2 | |
| | ||||||
* | hashes are ordered, so we do not need to sort | Aaron Patterson | 2013-10-03 | 1 | -3/+3 | |
| | ||||||
* | Always pass parameters to `build` | Aaron Patterson | 2013-10-03 | 1 | -2/+2 | |
| | | | | | We always know the parameters in advance, so we don't need to build it in to the method signature | |||||
* | Set the join type on construction | Aaron Patterson | 2013-10-03 | 1 | -4/+3 | |
| | | | | | We always set the join type immediately after construction, just make it part of the constructor and we can skip that step | |||||
* | simplify the JoinAssociation constructor, check validity *before* | Aaron Patterson | 2013-10-03 | 1 | -0/+6 | |
| | ||||||
* | require the files we need so the classes are stand-alone | Aaron Patterson | 2013-10-03 | 1 | -1/+0 | |
| | ||||||
* | remove HABTM special cases from associations classes | Aaron Patterson | 2013-10-02 | 1 | -1/+1 | |
| | ||||||
* | just set the default argument, a nil parent should be an error | Aaron Patterson | 2013-05-21 | 1 | -2/+1 | |
| | ||||||
* | fold the collection rather than multiple assigments | Aaron Patterson | 2013-05-21 | 1 | -3/+2 | |
| | ||||||
* | use drop rather than calculate the array length | Aaron Patterson | 2013-05-21 | 1 | -1/+1 | |
| | ||||||
* | Extract JoinDependency#join_relation to DRY the repeated application of the ↵ | Ben Woosley | 2013-05-10 | 1 | -0/+7 | |
| | | | | #join_associations. | |||||
* | rdoc for some of the methods in JoinDependency | Neeraj Singh | 2013-04-10 | 1 | -0/+21 | |
| | ||||||
* | remove_duplicate_results! should be protected | Neeraj Singh | 2013-04-10 | 1 | -2/+2 | |
| | ||||||
* | changed variable name active_record => base_klass | Neeraj Singh | 2013-04-09 | 1 | -4/+4 | |
| | | | | | | | | | | | | | | | | | Current code stores the klass name in active_record and this is used throughout. While reviewing the code time and again I had the mental picture of active_record being an instance of a klass. However here the actual klass is being stored in @active_record. Secondly at two different places while referring to @active_record the comment refers to it as base klass. All this points to active_record being not the best variable name. So I thought it is better to replace active_record with base_klass. This change is confined to JoinDependency, JoinBase, JoinPart and JoinAssociation - all joining related work. | |||||
* | show name of the klass that has missing association | Neeraj Singh | 2013-04-02 | 1 | -1/+1 | |
| | ||||||
* | no need to invoke to_s before applying intern | Neeraj Singh | 2013-04-02 | 1 | -1/+1 | |
| | ||||||
* | Refactor to use each_key, remove extra spaces | Carlos Antonio da Silva | 2013-01-28 | 1 | -1/+1 | |
| | ||||||
* | Revert "Use flat_map { } instead of map {}.flatten" | Santiago Pastorino | 2012-10-05 | 1 | -2/+2 | |
| | | | | | | | | | | | This reverts commit abf8de85519141496a6773310964ec03f6106f3f. We should take a deeper look to those cases flat_map doesn't do deep flattening. irb(main):002:0> [[[1,3], [1,2]]].map{|i| i}.flatten => [1, 3, 1, 2] irb(main):003:0> [[[1,3], [1,2]]].flat_map{|i| i} => [[1, 3], [1, 2]] | |||||
* | Use flat_map { } instead of map {}.flatten | Santiago Pastorino | 2012-10-05 | 1 | -2/+2 | |
| | ||||||
* | Revert "Merge pull request #5494 from ↵ | Jon Leighton | 2012-05-05 | 1 | -1/+1 | |
| | | | | | | | armstrjare/active_record_relation_keep_association_join_context_on_merge" This reverts commit dcd04e76179611a9db28c9e391aa7d6c2a5b046a, reversing changes made to 58a49875df63729f07a9a81d1ee349087d258df5. | |||||
* | Allow ActiveRecord::Relation merges to maintain context of joined associations | Jared Armstrong | 2012-05-04 | 1 | -1/+1 | |
| |