Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | stop creating a bunch of relation objects when we can slap all the joins on ↵ | Aaron Patterson | 2013-10-09 | 2 | -8/+3 |
| | | | | at once | ||||
* | Merge branch 'builder-instances' | Rafael Mendonça França | 2013-10-09 | 7 | -57/+42 |
|\ | |||||
| * | Method visibility will not make difference here | Rafael Mendonça França | 2013-10-09 | 4 | -8/+0 |
| | | |||||
| * | Remove builder instances | Rafael Mendonça França | 2013-10-09 | 2 | -22/+10 |
| | | | | | | | | | | All the job can be done at class level so we can avoid some object allocation | ||||
| * | Extract the scope building to a class method | Rafael Mendonça França | 2013-10-09 | 2 | -10/+17 |
| | | |||||
| * | Remove unneeded reader | Rafael Mendonça França | 2013-10-09 | 1 | -2/+0 |
| | | |||||
| * | Move wrap_scope to class level | Rafael Mendonça França | 2013-10-09 | 1 | -2/+2 |
| | | |||||
| * | Move macro to class level | Rafael Mendonça França | 2013-10-09 | 4 | -5/+5 |
| | | |||||
| * | Make validate_options a class method | Rafael Mendonça França | 2013-10-09 | 1 | -3/+3 |
| | | |||||
| * | Make valid_options a class method | Rafael Mendonça França | 2013-10-09 | 6 | -7/+7 |
| | | |||||
| * | Define the association extensions without need to have a builder | Rafael Mendonça França | 2013-10-09 | 2 | -14/+14 |
| | | | | | | | | instance | ||||
* | | no need to to_sym | Aaron Patterson | 2013-10-09 | 1 | -1/+1 |
| | | |||||
* | | Merge branch 'tree' | Aaron Patterson | 2013-10-09 | 5 | -109/+105 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tree: (22 commits) remove dead code add some convenient methods for avoiding array allocations hide join_constraints inside the JoinDependency object speed up match? expose the root node and call it just skip the join if it's already there speed up finding existing nodes make node search more efficient remove == so we can see where walking up parents occurs push parent up to the superclass convert JoinBase to a tree and remove the Node class names are guaranteed to be symbols eliminate function that is only used in one place we will always detect the same node, so just pass the node in we do not need to to_s the name all the time parent is guaranteed to be the same reduce number of comparisons and array allocations rename the variable to make more sense with a tree walk the tree rather than generating a hash and walking it do not convert the tree to a list just for the first node ... | ||||
| * | | remove dead code | Aaron Patterson | 2013-10-09 | 1 | -13/+0 |
| | | | |||||
| * | | add some convenient methods for avoiding array allocations | Aaron Patterson | 2013-10-09 | 2 | -3/+6 |
| | | | |||||
| * | | hide join_constraints inside the JoinDependency object | Aaron Patterson | 2013-10-09 | 2 | -8/+7 |
| | | | |||||
| * | | speed up match? | Aaron Patterson | 2013-10-09 | 1 | -0/+1 |
| | | | |||||
| * | | expose the root node and call it | Aaron Patterson | 2013-10-09 | 1 | -21/+11 |
| | | | |||||
| * | | just skip the join if it's already there | Aaron Patterson | 2013-10-09 | 1 | -14/+10 |
| | | | | | | | | | | | | Remove the annoying `find_or_build` stuff. | ||||
| * | | speed up finding existing nodes | Aaron Patterson | 2013-10-09 | 1 | -3/+1 |
| | | | | | | | | | | | | | | | The node must be a child of the parent passed in, so only search children of the parent node | ||||
| * | | make node search more efficient | Aaron Patterson | 2013-10-09 | 4 | -3/+43 |
| | | | | | | | | | | | | | | | | | | Rather than search every node in the tree, comparing that node and all of its parents every time, start at the root from both sides and work our way down the tree | ||||
| * | | remove == so we can see where walking up parents occurs | Aaron Patterson | 2013-10-09 | 4 | -25/+15 |
| | | | |||||
| * | | push parent up to the superclass | Aaron Patterson | 2013-10-09 | 3 | -7/+11 |
| | | | | | | | | | | | | We always want a linked list back to the root node. | ||||
| * | | convert JoinBase to a tree and remove the Node class | Aaron Patterson | 2013-10-09 | 2 | -42/+30 |
| | | | |||||
| * | | names are guaranteed to be symbols | Aaron Patterson | 2013-10-08 | 1 | -1/+1 |
| | | | |||||
| * | | 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 |
| | | | |||||
* | | | Merge pull request #12473 from claudiob/document-after-touch | Yves Senn | 2013-10-09 | 2 | -2/+6 |
|\ \ \ | |_|/ |/| | | Add documentation for after_touch [ci skip] | ||||
| * | | Add documentation for after_touch [ci skip] | claudiob | 2013-10-08 | 2 | -2/+6 |
| |/ | |||||
* | | :scissors: | Rafael Mendonça França | 2013-10-09 | 2 | -2/+2 |
| | | |||||
* | | Push define_accessors to class level since we don't need anythig from | Rafael Mendonça França | 2013-10-08 | 3 | -8/+8 |
| | | | | | | | | the instance | ||||
* | | Use the reflection name instead of the accessor | Rafael Mendonça França | 2013-10-08 | 2 | -1/+2 |
| | | |||||
* | | Move add_counter_cache_methods to class level | Rafael Mendonça França | 2013-10-08 | 1 | -2/+2 |
| | | |||||
* | | Move define_constructors to class level | Rafael Mendonça França | 2013-10-08 | 1 | -3/+2 |
| | | |||||
* | | Move define_writers to class level since we don't need anything from the | Rafael Mendonça França | 2013-10-08 | 2 | -3/+3 |
| | | | | | | | | instance | ||||
* | | Move define_readers to class method since it doesn't need nothing from | Rafael Mendonça França | 2013-10-08 | 2 | -5/+3 |
| | | | | | | | | the instance | ||||
* | | Fix the indentation | Rafael Mendonça França | 2013-10-08 | 1 | -12/+13 |
|/ | |||||
* | 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 |
| |