tree_support 0.1.5 → 0.1.6
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.
- checksums.yaml +4 -4
 - data/README.org +37 -2
 - data/examples/0231_records_to_tree.rb +30 -0
 - data/examples/Gemfile.lock +1 -1
 - data/lib/tree_support/version.rb +1 -1
 - metadata +2 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 8490b76d2456c35bc4b9a891c9126872aa85b75cf082c6fcb3dd0cfde39ad10f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 2a4032b5f7371ae6f6a14fd68129b847914d2ca4600990c911048ffb1044ba94
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 9f4823684332133d005d6b214e2a523565b275c7738058e9e9d4c3eb3f5494b97982137da3440e7c8282e2967c3e48ad93728708e779c980e5557f34fdd0c111
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 9f07e3b6fd40238fa35d44c20ec365c85fa0776fa4ec468c00171f6a1a58e99ffe6f3a9ce888220bd0e83e41e6ff00aca128979d7daafc57c47fe809ecdb8b73
         
     | 
    
        data/README.org
    CHANGED
    
    | 
         @@ -403,6 +403,41 @@ puts TreeSupport.tree(root, take: 3, drop: 1) 
     | 
|
| 
       403 
403 
     | 
    
         
             
            # >> └─Recover
         
     | 
| 
       404 
404 
     | 
    
         
             
            #+END_SRC
         
     | 
| 
       405 
405 
     | 
    
         | 
| 
      
 406 
     | 
    
         
            +
            *** Methods for easily making trees from data like CSV
         
     | 
| 
      
 407 
     | 
    
         
            +
             
     | 
| 
      
 408 
     | 
    
         
            +
            Array -> Tree
         
     | 
| 
      
 409 
     | 
    
         
            +
             
     | 
| 
      
 410 
     | 
    
         
            +
            #+BEGIN_SRC ruby
         
     | 
| 
      
 411 
     | 
    
         
            +
            require "tree_support"
         
     | 
| 
      
 412 
     | 
    
         
            +
             
     | 
| 
      
 413 
     | 
    
         
            +
            records = [
         
     | 
| 
      
 414 
     | 
    
         
            +
              {key: :a, parent: nil},
         
     | 
| 
      
 415 
     | 
    
         
            +
              {key: :b, parent: :a},
         
     | 
| 
      
 416 
     | 
    
         
            +
              {key: :c, parent: :b},
         
     | 
| 
      
 417 
     | 
    
         
            +
            ]
         
     | 
| 
      
 418 
     | 
    
         
            +
             
     | 
| 
      
 419 
     | 
    
         
            +
            # When the first node is regarded as a parent
         
     | 
| 
      
 420 
     | 
    
         
            +
            puts TreeSupport.records_to_tree(records).first.to_s_tree
         
     | 
| 
      
 421 
     | 
    
         
            +
            # >> a
         
     | 
| 
      
 422 
     | 
    
         
            +
            # >> └─b
         
     | 
| 
      
 423 
     | 
    
         
            +
            # >>     └─c
         
     | 
| 
      
 424 
     | 
    
         
            +
             
     | 
| 
      
 425 
     | 
    
         
            +
            # When you make a parent parenting the whole
         
     | 
| 
      
 426 
     | 
    
         
            +
            puts TreeSupport.records_to_tree(records, root_key: :root).to_s_tree
         
     | 
| 
      
 427 
     | 
    
         
            +
            # >> root
         
     | 
| 
      
 428 
     | 
    
         
            +
            # >> └─a
         
     | 
| 
      
 429 
     | 
    
         
            +
            # >>     └─b
         
     | 
| 
      
 430 
     | 
    
         
            +
            # >>         └─c
         
     | 
| 
      
 431 
     | 
    
         
            +
             
     | 
| 
      
 432 
     | 
    
         
            +
            # Convert from tree to array
         
     | 
| 
      
 433 
     | 
    
         
            +
            tree = TreeSupport.records_to_tree(records)
         
     | 
| 
      
 434 
     | 
    
         
            +
            pp TreeSupport.tree_to_records(tree.first)
         
     | 
| 
      
 435 
     | 
    
         
            +
            # >> [
         
     | 
| 
      
 436 
     | 
    
         
            +
            # >>   {:key=>:a, :parent=>nil},
         
     | 
| 
      
 437 
     | 
    
         
            +
            # >>   {:key=>:b, :parent=>:a},
         
     | 
| 
      
 438 
     | 
    
         
            +
            # >>   {:key=>:c, :parent=>:b},
         
     | 
| 
      
 439 
     | 
    
         
            +
            # >> ]
         
     | 
| 
      
 440 
     | 
    
         
            +
             
     | 
| 
       406 
441 
     | 
    
         
             
            *** Image version also has similar options
         
     | 
| 
       407 
442 
     | 
    
         | 
| 
       408 
443 
     | 
    
         
             
            #+BEGIN_SRC ruby
         
     | 
| 
         @@ -456,7 +491,7 @@ end 
     | 
|
| 
       456 
491 
     | 
    
         
             
                Just as with ordinary classes, we need parent and children methods
         
     | 
| 
       457 
492 
     | 
    
         | 
| 
       458 
493 
     | 
    
         
             
            #+BEGIN_SRC ruby
         
     | 
| 
       459 
     | 
    
         
            -
            class  
     | 
| 
      
 494 
     | 
    
         
            +
            class TreeModel
         
     | 
| 
       460 
495 
     | 
    
         
             
              include MemoryRecord
         
     | 
| 
       461 
496 
     | 
    
         
             
              memory_record [
         
     | 
| 
       462 
497 
     | 
    
         
             
                {key: :a, parent: nil},
         
     | 
| 
         @@ -476,7 +511,7 @@ class Foo 
     | 
|
| 
       476 
511 
     | 
    
         
             
              end
         
     | 
| 
       477 
512 
     | 
    
         
             
            end
         
     | 
| 
       478 
513 
     | 
    
         | 
| 
       479 
     | 
    
         
            -
            puts  
     | 
| 
      
 514 
     | 
    
         
            +
            puts TreeModel.find_all(&:root?).collect(&:to_s_tree)
         
     | 
| 
       480 
515 
     | 
    
         
             
            # >> A
         
     | 
| 
       481 
516 
     | 
    
         
             
            # >> └─B
         
     | 
| 
       482 
517 
     | 
    
         
             
            # >>     └─C
         
     | 
| 
         @@ -0,0 +1,30 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require "bundler/setup"
         
     | 
| 
      
 2 
     | 
    
         
            +
            require "tree_support"
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            # Methods for easily making trees from data like CSV
         
     | 
| 
      
 5 
     | 
    
         
            +
            # Array -> Tree
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            records = [
         
     | 
| 
      
 8 
     | 
    
         
            +
              {key: :a, parent: nil},
         
     | 
| 
      
 9 
     | 
    
         
            +
              {key: :b, parent: :a},
         
     | 
| 
      
 10 
     | 
    
         
            +
              {key: :c, parent: :b},
         
     | 
| 
      
 11 
     | 
    
         
            +
            ]
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            # When the first node is regarded as a parent
         
     | 
| 
      
 14 
     | 
    
         
            +
            puts TreeSupport.records_to_tree(records).first.to_s_tree
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
      
 16 
     | 
    
         
            +
            # When you make a parent parenting the whole
         
     | 
| 
      
 17 
     | 
    
         
            +
            puts TreeSupport.records_to_tree(records, root_key: :root).to_s_tree
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            # Convert from tree to array
         
     | 
| 
      
 20 
     | 
    
         
            +
            tree = TreeSupport.records_to_tree(records)
         
     | 
| 
      
 21 
     | 
    
         
            +
            pp TreeSupport.tree_to_records(tree.first)
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
            # >> a
         
     | 
| 
      
 24 
     | 
    
         
            +
            # >> └─b
         
     | 
| 
      
 25 
     | 
    
         
            +
            # >>     └─c
         
     | 
| 
      
 26 
     | 
    
         
            +
            # >> root
         
     | 
| 
      
 27 
     | 
    
         
            +
            # >> └─a
         
     | 
| 
      
 28 
     | 
    
         
            +
            # >>     └─b
         
     | 
| 
      
 29 
     | 
    
         
            +
            # >>         └─c
         
     | 
| 
      
 30 
     | 
    
         
            +
            # >> [{:key=>:a, :parent=>nil}, {:key=>:b, :parent=>:a}, {:key=>:c, :parent=>:b}]
         
     | 
    
        data/examples/Gemfile.lock
    CHANGED
    
    
    
        data/lib/tree_support/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: tree_support
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.6
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - akicho8
         
     | 
| 
         @@ -135,6 +135,7 @@ files: 
     | 
|
| 
       135 
135 
     | 
    
         
             
            - examples/0210_take_drop.rb
         
     | 
| 
       136 
136 
     | 
    
         
             
            - examples/0220_it_will_not_be_strange_to_tojson.rb
         
     | 
| 
       137 
137 
     | 
    
         
             
            - examples/0230_list_to_tree.rb
         
     | 
| 
      
 138 
     | 
    
         
            +
            - examples/0231_records_to_tree.rb
         
     | 
| 
       138 
139 
     | 
    
         
             
            - examples/0240_memory_record.rb
         
     | 
| 
       139 
140 
     | 
    
         
             
            - examples/Gemfile
         
     | 
| 
       140 
141 
     | 
    
         
             
            - examples/Gemfile.lock
         
     |