cl-magic 1.2.2 → 1.2.4
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/Gemfile.lock +1 -1
 - data/lib/cl/magic/cl-dk-parts +25 -9
 - data/lib/cl/magic/common/parse_and_pick.rb +9 -1
 - data/lib/cl/magic/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: e703c8de1ae89f408ce6e63cc1815522c50cfaa2c8eb378a6c66da8fce474dc5
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 9f059bbe5db125cb443e5e3a460024efde164eaec3aa5b09beb1d353b3eed26e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 242e2a6d1c7e455613e056144792ff941528f50592212435b495cc01dc335597d512617223a872a975ad062c9461ae3fb07226bf1079bd636cc7a4935d6ca31d
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 4430e08eaa1b4f312a29a26ac649b789337812b3301899eca78ecbf1c8e063486687947f8ebd84b5d02305ba7865d4e5c68b3f2f9576594f5682b07ac1712215
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/lib/cl/magic/cl-dk-parts
    CHANGED
    
    | 
         @@ -65,25 +65,41 @@ def do_set(options) 
     | 
|
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
                  # save parts
         
     | 
| 
       67 
67 
     | 
    
         
             
                  filepath = get_save_parts_filepath()
         
     | 
| 
      
 68 
     | 
    
         
            +
                  prev_saved_parts = YAML.load_file(filepath)
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                  # passed in parts
         
     | 
| 
       68 
71 
     | 
    
         
             
                  parts = ARGV[1..]
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
       69 
73 
     | 
    
         
             
                  case options[:action]
         
     | 
| 
       70 
74 
     | 
    
         
             
                  when :set
         
     | 
| 
       71 
75 
     | 
    
         
             
                    unless parts.any?
         
     | 
| 
       72 
     | 
    
         
            -
                       
     | 
| 
       73 
     | 
    
         
            -
                       
     | 
| 
      
 76 
     | 
    
         
            +
                      @logger.info "spacebar to select"
         
     | 
| 
      
 77 
     | 
    
         
            +
                      @logger.info "enter to complete"
         
     | 
| 
      
 78 
     | 
    
         
            +
                      @logger.puts ""
         
     | 
| 
      
 79 
     | 
    
         
            +
                      options = dk_parts_hash.keys.collect {|k| [k.ljust(25, ' '), dk_parts_hash[k]['help']]}
         
     | 
| 
      
 80 
     | 
    
         
            +
                      default = prev_saved_parts.collect{|p| p.ljust(25, ' ')}
         
     | 
| 
      
 81 
     | 
    
         
            +
                      selected_parts = pick_multiple_result(options, "Which parts?", nil, false, default)
         
     | 
| 
       74 
82 
     | 
    
         
             
                      parts = selected_parts.collect {|o| o.first.strip}
         
     | 
| 
       75 
83 
     | 
    
         
             
                    end
         
     | 
| 
       76 
84 
     | 
    
         
             
                    File.open(filepath, 'w') { |file| file.write(parts.to_yaml) }
         
     | 
| 
       77 
     | 
    
         
            -
                     
     | 
| 
      
 85 
     | 
    
         
            +
                    if parts.any?
         
     | 
| 
      
 86 
     | 
    
         
            +
                      @logger.success "parts set"
         
     | 
| 
      
 87 
     | 
    
         
            +
                      @logger.puts ""
         
     | 
| 
      
 88 
     | 
    
         
            +
                      parts.each do |p|
         
     | 
| 
      
 89 
     | 
    
         
            +
                        @logger.puts p
         
     | 
| 
      
 90 
     | 
    
         
            +
                      end
         
     | 
| 
      
 91 
     | 
    
         
            +
                      @logger.puts ""
         
     | 
| 
      
 92 
     | 
    
         
            +
                    else
         
     | 
| 
      
 93 
     | 
    
         
            +
                      @logger.warn "no parts selected"
         
     | 
| 
      
 94 
     | 
    
         
            +
                      do_clear(options)
         
     | 
| 
      
 95 
     | 
    
         
            +
                    end
         
     | 
| 
       78 
96 
     | 
    
         
             
                  when :add
         
     | 
| 
       79 
     | 
    
         
            -
                     
     | 
| 
       80 
     | 
    
         
            -
                     
     | 
| 
       81 
     | 
    
         
            -
                    File.open(filepath, 'w') { |file| file.write(data.uniq.to_yaml) }
         
     | 
| 
      
 97 
     | 
    
         
            +
                    parts.each {|p| prev_saved_parts << p}
         
     | 
| 
      
 98 
     | 
    
         
            +
                    File.open(filepath, 'w') { |file| file.write(prev_saved_parts.uniq.to_yaml) }
         
     | 
| 
       82 
99 
     | 
    
         
             
                    @logger.success "parts added"
         
     | 
| 
       83 
100 
     | 
    
         
             
                  when :remove
         
     | 
| 
       84 
     | 
    
         
            -
                     
     | 
| 
       85 
     | 
    
         
            -
                     
     | 
| 
       86 
     | 
    
         
            -
                    File.open(filepath, 'w') { |file| file.write(data.to_yaml) }
         
     | 
| 
      
 101 
     | 
    
         
            +
                    prev_saved_parts.reject! { |p| parts.include?(p) }
         
     | 
| 
      
 102 
     | 
    
         
            +
                    File.open(filepath, 'w') { |file| file.write(prev_saved_parts.to_yaml) }
         
     | 
| 
       87 
103 
     | 
    
         
             
                    @logger.success "parts removed"
         
     | 
| 
       88 
104 
     | 
    
         
             
                  end
         
     | 
| 
       89 
105 
     | 
    
         
             
                else
         
     | 
| 
         @@ -63,7 +63,7 @@ def pick_single_result(results, prompt_message, exact=nil, default=nil, selectio 
     | 
|
| 
       63 
63 
     | 
    
         
             
            end
         
     | 
| 
       64 
64 
     | 
    
         | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
     | 
    
         
            -
            def pick_multiple_result(results, prompt_message, exacts=nil, echo=true)
         
     | 
| 
      
 66 
     | 
    
         
            +
            def pick_multiple_result(results, prompt_message, exacts=nil, echo=true, default=[])
         
     | 
| 
       67 
67 
     | 
    
         | 
| 
       68 
68 
     | 
    
         
             
              # exact match?
         
     | 
| 
       69 
69 
     | 
    
         
             
              return results.select {|r| exacts.split(',').include? r.first} if exacts
         
     | 
| 
         @@ -72,9 +72,17 @@ def pick_multiple_result(results, prompt_message, exacts=nil, echo=true) 
     | 
|
| 
       72 
72 
     | 
    
         
             
              return results if results.count < 2
         
     | 
| 
       73 
73 
     | 
    
         | 
| 
       74 
74 
     | 
    
         
             
              selections = TTY::Prompt.new(interrupt: :exit).multi_select(prompt_message, filter: true, per_page: 20, echo: echo) do |menu|
         
     | 
| 
      
 75 
     | 
    
         
            +
                # add choices
         
     | 
| 
       75 
76 
     | 
    
         
             
                results.each do |result|
         
     | 
| 
       76 
77 
     | 
    
         
             
                  menu.choice result.join(' | '), result.first
         
     | 
| 
       77 
78 
     | 
    
         
             
                end
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                # defaults
         
     | 
| 
      
 81 
     | 
    
         
            +
                keys = results.collect {|r|r.first}
         
     | 
| 
      
 82 
     | 
    
         
            +
                default_indexes = default.map {|d| keys.index(d) + 1}
         
     | 
| 
      
 83 
     | 
    
         
            +
                if default.any?
         
     | 
| 
      
 84 
     | 
    
         
            +
                  menu.default *default_indexes
         
     | 
| 
      
 85 
     | 
    
         
            +
                end
         
     | 
| 
       78 
86 
     | 
    
         
             
              end
         
     | 
| 
       79 
87 
     | 
    
         | 
| 
       80 
88 
     | 
    
         
             
              return results.select {|r| selections.include? r.first}
         
     | 
    
        data/lib/cl/magic/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: cl-magic
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.2. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.2.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Don Najd
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-09-06 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake
         
     |