closure_tree 3.5.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -2
 - data/lib/closure_tree/acts_as_tree.rb +3 -17
 - data/lib/closure_tree/version.rb +1 -1
 - metadata +3 -3
 
    
        data/README.md
    CHANGED
    
    | 
         @@ -331,10 +331,10 @@ Closure tree is [tested under every combination](http://travis-ci.org/#!/mceache 
     | 
|
| 
       331 
331 
     | 
    
         | 
| 
       332 
332 
     | 
    
         
             
            ## Change log
         
     | 
| 
       333 
333 
     | 
    
         | 
| 
       334 
     | 
    
         
            -
            ### 3.5. 
     | 
| 
      
 334 
     | 
    
         
            +
            ### 3.5.1
         
     | 
| 
       335 
335 
     | 
    
         | 
| 
       336 
336 
     | 
    
         
             
            * Added ```find_all_by_generation```
         
     | 
| 
       337 
     | 
    
         
            -
              for [feature request 17](https://github.com/mceachen/closure_tree/issues/17) 
     | 
| 
      
 337 
     | 
    
         
            +
              for [feature request 17](https://github.com/mceachen/closure_tree/issues/17).
         
     | 
| 
       338 
338 
     | 
    
         | 
| 
       339 
339 
     | 
    
         
             
            ### 3.4.2
         
     | 
| 
       340 
340 
     | 
    
         | 
| 
         @@ -87,23 +87,9 @@ module ClosureTree 
     | 
|
| 
       87 
87 
     | 
    
         
             
                    roots.inject(ActiveSupport::OrderedHash.new) { |h, ea| h.merge(ea.hash_tree(options)) }
         
     | 
| 
       88 
88 
     | 
    
         
             
                  end
         
     | 
| 
       89 
89 
     | 
    
         | 
| 
       90 
     | 
    
         
            -
                  def find_all_by_generation(generation_level)
         
     | 
| 
       91 
     | 
    
         
            -
                     
     | 
| 
       92 
     | 
    
         
            -
             
     | 
| 
       93 
     | 
    
         
            -
                        SELECT #{primary_key} as root_id
         
     | 
| 
       94 
     | 
    
         
            -
                        FROM #{quoted_table_name}
         
     | 
| 
       95 
     | 
    
         
            -
                        WHERE #{quoted_parent_column_name} IS NULL
         
     | 
| 
       96 
     | 
    
         
            -
                      ) AS roots
         
     | 
| 
       97 
     | 
    
         
            -
                      INNER JOIN (
         
     | 
| 
       98 
     | 
    
         
            -
                        SELECT ancestor_id, descendant_id
         
     | 
| 
       99 
     | 
    
         
            -
                        FROM #{quoted_hierarchy_table_name}
         
     | 
| 
       100 
     | 
    
         
            -
                        GROUP BY 1, 2
         
     | 
| 
       101 
     | 
    
         
            -
                        HAVING MAX(#{quoted_hierarchy_table_name}.generations) = #{generation_level.to_i}
         
     | 
| 
       102 
     | 
    
         
            -
                      ) AS descendants
         
     | 
| 
       103 
     | 
    
         
            -
                      ON #{quoted_table_name}.#{primary_key} = descendants.descendant_id
         
     | 
| 
       104 
     | 
    
         
            -
                        AND roots.root_id = ancestor_id
         
     | 
| 
       105 
     | 
    
         
            -
                    SQL
         
     | 
| 
       106 
     | 
    
         
            -
                    order_option ? s.order(order_option) : s
         
     | 
| 
      
 90 
     | 
    
         
            +
                  def self.find_all_by_generation(generation_level)
         
     | 
| 
      
 91 
     | 
    
         
            +
                    # TODO: make this be a proper SQL select, not an inject.
         
     | 
| 
      
 92 
     | 
    
         
            +
                    roots.inject([]) { |a, ea| a + ea.find_all_by_generation(generation_level).to_a }
         
     | 
| 
       107 
93 
     | 
    
         
             
                  end
         
     | 
| 
       108 
94 
     | 
    
         | 
| 
       109 
95 
     | 
    
         
             
                  def self.leaves
         
     | 
    
        data/lib/closure_tree/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: closure_tree
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 3.5. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 3.5.1
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -192,7 +192,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       192 
192 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       193 
193 
     | 
    
         
             
                  segments:
         
     | 
| 
       194 
194 
     | 
    
         
             
                  - 0
         
     | 
| 
       195 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 195 
     | 
    
         
            +
                  hash: 10070411071183028
         
     | 
| 
       196 
196 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       197 
197 
     | 
    
         
             
              none: false
         
     | 
| 
       198 
198 
     | 
    
         
             
              requirements:
         
     | 
| 
         @@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       201 
201 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       202 
202 
     | 
    
         
             
                  segments:
         
     | 
| 
       203 
203 
     | 
    
         
             
                  - 0
         
     | 
| 
       204 
     | 
    
         
            -
                  hash:  
     | 
| 
      
 204 
     | 
    
         
            +
                  hash: 10070411071183028
         
     | 
| 
       205 
205 
     | 
    
         
             
            requirements: []
         
     | 
| 
       206 
206 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       207 
207 
     | 
    
         
             
            rubygems_version: 1.8.23
         
     |