jtag 0.1.16 → 0.1.17
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/bin/jtag +39 -41
 - data/lib/jtag/jekylltag.rb +16 -10
 - data/lib/jtag/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: f68f1e95a41e56ce886f6b77f116f7617918d99374b0a8bc093d06f55ec63fa1
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: b1e2d8fe246baba7cc17b2fe86e867e91f0beed1c631021b6b02512ef8ed2641
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 767f4d931006ff59a30fb32d0f156703026f34b5c12c86fbdc02ebb56b0f3580618a411cfda9666fb299793dd88d34dec6b4dcf0804932f4f46df6dfd86b864f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: f9c405479a2bb93999598387815fe37d626e84391fce3f650c308bc1b4c4f1ac48a6dbb6a1e7927dedb03cd41c32c847c2a0c612d423b9105e912c085976cc0b
         
     | 
    
        data/bin/jtag
    CHANGED
    
    | 
         @@ -11,10 +11,11 @@ version Jtag::VERSION 
     | 
|
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            @config_files = %w{blacklist.txt config.yml stopwords.txt synonyms.yml}
         
     | 
| 
       13 
13 
     | 
    
         
             
            @config_target = File.expand_path("~/.jtag")
         
     | 
| 
      
 14 
     | 
    
         
            +
            @piped_content = nil
         
     | 
| 
       14 
15 
     | 
    
         | 
| 
       15 
16 
     | 
    
         
             
            def config_files_complete?
         
     | 
| 
       16 
17 
     | 
    
         
             
              @config_files.each do |file|
         
     | 
| 
       17 
     | 
    
         
            -
                return false unless File.exists?(File.join(@config_target,file))
         
     | 
| 
      
 18 
     | 
    
         
            +
                return false unless File.exists?(File.join(@config_target, file))
         
     | 
| 
       18 
19 
     | 
    
         
             
              end
         
     | 
| 
       19 
20 
     | 
    
         
             
              true
         
     | 
| 
       20 
21 
     | 
    
         
             
            end
         
     | 
| 
         @@ -22,18 +23,18 @@ end 
     | 
|
| 
       22 
23 
     | 
    
         
             
            desc 'Debug level'
         
     | 
| 
       23 
24 
     | 
    
         
             
            default_value '0'
         
     | 
| 
       24 
25 
     | 
    
         
             
            arg_name 'debug_level'
         
     | 
| 
       25 
     | 
    
         
            -
            flag [ 
     | 
| 
      
 26 
     | 
    
         
            +
            flag %i[d debug], :must_match => /\d+/, :type => Integer, :default_value => 0
         
     | 
| 
       26 
27 
     | 
    
         | 
| 
       27 
28 
     | 
    
         
             
            desc 'Run silently'
         
     | 
| 
       28 
     | 
    
         
            -
            switch [ 
     | 
| 
      
 29 
     | 
    
         
            +
            switch %i[s silent]
         
     | 
| 
       29 
30 
     | 
    
         | 
| 
       30 
31 
     | 
    
         
             
            desc 'Perform case-insensitive matches and searches'
         
     | 
| 
       31 
     | 
    
         
            -
            switch [ 
     | 
| 
      
 32 
     | 
    
         
            +
            switch %i[i case_insensitive]
         
     | 
| 
       32 
33 
     | 
    
         | 
| 
       33 
34 
     | 
    
         
             
            desc "Test (dry run, don't update files)"
         
     | 
| 
       34 
35 
     | 
    
         
             
            long_desc "Run all commands and show results on the command line, but don't overwrite/update any files"
         
     | 
| 
       35 
36 
     | 
    
         
             
            default_value false
         
     | 
| 
       36 
     | 
    
         
            -
            switch [ 
     | 
| 
      
 37 
     | 
    
         
            +
            switch %i[t test]
         
     | 
| 
       37 
38 
     | 
    
         | 
| 
       38 
39 
     | 
    
         
             
            def console_log(msg="", options={})
         
     | 
| 
       39 
40 
     | 
    
         
             
              err = options[:err] || false
         
     | 
| 
         @@ -52,7 +53,7 @@ def console_log(msg="", options={}) 
     | 
|
| 
       52 
53 
     | 
    
         
             
              unless err
         
     | 
| 
       53 
54 
     | 
    
         
             
                $stdout.puts msg
         
     | 
| 
       54 
55 
     | 
    
         
             
              else
         
     | 
| 
       55 
     | 
    
         
            -
                 
     | 
| 
      
 56 
     | 
    
         
            +
                warn msg
         
     | 
| 
       56 
57 
     | 
    
         
             
              end
         
     | 
| 
       57 
58 
     | 
    
         
             
            end
         
     | 
| 
       58 
59 
     | 
    
         | 
| 
         @@ -110,12 +111,12 @@ command :search do |c| 
     | 
|
| 
       110 
111 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       111 
112 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       112 
113 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       113 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 114 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/i, :type => String
         
     | 
| 
       114 
115 
     | 
    
         | 
| 
       115 
116 
     | 
    
         
             
              c.desc 'Include tag counts'
         
     | 
| 
       116 
117 
     | 
    
         
             
              c.arg_name 'counts'
         
     | 
| 
       117 
118 
     | 
    
         
             
              c.default_value false
         
     | 
| 
       118 
     | 
    
         
            -
              c.switch [ 
     | 
| 
      
 119 
     | 
    
         
            +
              c.switch %i[c counts]
         
     | 
| 
       119 
120 
     | 
    
         | 
| 
       120 
121 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       121 
122 
     | 
    
         
             
                tags = @jt.get_tags({:counts => true})
         
     | 
| 
         @@ -152,12 +153,12 @@ command :posts_tagged do |c| 
     | 
|
| 
       152 
153 
     | 
    
         
             
              c.desc 'Boolean operator for multiple tags (AND/OR/NOT)'
         
     | 
| 
       153 
154 
     | 
    
         
             
              c.arg_name 'bool'
         
     | 
| 
       154 
155 
     | 
    
         
             
              c.default_value 'OR'
         
     | 
| 
       155 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 156 
     | 
    
         
            +
              c.flag %i[b bool], :must_match => /(AND|OR|NOT)/i, :type => String
         
     | 
| 
       156 
157 
     | 
    
         | 
| 
       157 
158 
     | 
    
         
             
              c.desc 'Format to use when outputting file list: list, json, plist, csv or yaml. Defaults to list.'
         
     | 
| 
       158 
159 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       159 
160 
     | 
    
         
             
              c.default_value 'list'
         
     | 
| 
       160 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 161 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       161 
162 
     | 
    
         | 
| 
       162 
163 
     | 
    
         
             
              c.desc 'If output format is list, print without newlines.'
         
     | 
| 
       163 
164 
     | 
    
         
             
              c.switch [:print0]
         
     | 
| 
         @@ -225,22 +226,22 @@ command :loners do |c| 
     | 
|
| 
       225 
226 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       226 
227 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       227 
228 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       228 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 229 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       229 
230 
     | 
    
         | 
| 
       230 
231 
     | 
    
         
             
              c.desc 'Upper limit for how many posts a tag can be attached to and still be a loner'
         
     | 
| 
       231 
232 
     | 
    
         
             
              c.arg_name 'max'
         
     | 
| 
       232 
233 
     | 
    
         
             
              c.default_value '2'
         
     | 
| 
       233 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 234 
     | 
    
         
            +
              c.flag %i[m max], :default_value => 2, :must_match => /^\d+$/
         
     | 
| 
       234 
235 
     | 
    
         | 
| 
       235 
236 
     | 
    
         
             
              c.desc "Remove tags with fewer than X posts attached"
         
     | 
| 
       236 
     | 
    
         
            -
              c.switch [ 
     | 
| 
      
 237 
     | 
    
         
            +
              c.switch %i[r remove], :default_value => false
         
     | 
| 
       237 
238 
     | 
    
         | 
| 
       238 
239 
     | 
    
         
             
              c.desc "Display output without attached occurence counts"
         
     | 
| 
       239 
240 
     | 
    
         
             
              c.switch [:no_counts], :default_value => false
         
     | 
| 
       240 
241 
     | 
    
         | 
| 
       241 
242 
     | 
    
         
             
              c.desc 'Output a file list of tags that can be edited and passed back in for removing'
         
     | 
| 
       242 
243 
     | 
    
         
             
              c.arg_name 'filename'
         
     | 
| 
       243 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 244 
     | 
    
         
            +
              c.flag %i[e edit], :default_value => false, :type => String
         
     | 
| 
       244 
245 
     | 
    
         | 
| 
       245 
246 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       246 
247 
     | 
    
         
             
                max = options[:m].to_i
         
     | 
| 
         @@ -310,7 +311,7 @@ command :loners do |c| 
     | 
|
| 
       310 
311 
     | 
    
         
             
                      }
         
     | 
| 
       311 
312 
     | 
    
         
             
                    }
         
     | 
| 
       312 
313 
     | 
    
         
             
                    unless global_options[:t]
         
     | 
| 
       313 
     | 
    
         
            -
                      @jt.update_file_tags(file,tags)
         
     | 
| 
      
 314 
     | 
    
         
            +
                      @jt.update_file_tags(file, tags)
         
     | 
| 
       314 
315 
     | 
    
         
             
                      console_log "Updated tags for #{file}", :log => true
         
     | 
| 
       315 
316 
     | 
    
         
             
                    end
         
     | 
| 
       316 
317 
     | 
    
         | 
| 
         @@ -333,15 +334,15 @@ command :tags do |c| 
     | 
|
| 
       333 
334 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       334 
335 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       335 
336 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       336 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 337 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       337 
338 
     | 
    
         | 
| 
       338 
339 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       339 
340 
     | 
    
         | 
| 
       340 
341 
     | 
    
         
             
                if @piped_content
         
     | 
| 
       341 
     | 
    
         
            -
                  tags = @jt.post_tags(@piped_content,true)
         
     | 
| 
      
 342 
     | 
    
         
            +
                  tags = @jt.post_tags(@piped_content, true)
         
     | 
| 
       342 
343 
     | 
    
         
             
                  if args.length > 1
         
     | 
| 
       343 
344 
     | 
    
         
             
                    console_log
         
     | 
| 
       344 
     | 
    
         
            -
                    console_log  
     | 
| 
      
 345 
     | 
    
         
            +
                    console_log 'STDIN:'
         
     | 
| 
       345 
346 
     | 
    
         
             
                  end
         
     | 
| 
       346 
347 
     | 
    
         
             
                  if tags.empty? || tags.nil?
         
     | 
| 
       347 
348 
     | 
    
         
             
                    console_log "No tags in post", {:err => true}
         
     | 
| 
         @@ -375,7 +376,7 @@ command :sort do |c| 
     | 
|
| 
       375 
376 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       376 
377 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       377 
378 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       378 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 379 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       379 
380 
     | 
    
         | 
| 
       380 
381 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       381 
382 
     | 
    
         
             
                args.each{|file|
         
     | 
| 
         @@ -404,7 +405,7 @@ command :merge do |c| 
     | 
|
| 
       404 
405 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       405 
406 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       406 
407 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       407 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 408 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       408 
409 
     | 
    
         | 
| 
       409 
410 
     | 
    
         
             
              c.action do |global_options, options, args|
         
     | 
| 
       410 
411 
     | 
    
         
             
                files = []
         
     | 
| 
         @@ -469,7 +470,7 @@ command :add do |c| 
     | 
|
| 
       469 
470 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       470 
471 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       471 
472 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       472 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 473 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       473 
474 
     | 
    
         | 
| 
       474 
475 
     | 
    
         | 
| 
       475 
476 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
         @@ -497,7 +498,7 @@ command :add do |c| 
     | 
|
| 
       497 
498 
     | 
    
         
             
                  tags.uniq!
         
     | 
| 
       498 
499 
     | 
    
         
             
                  tags.sort!
         
     | 
| 
       499 
500 
     | 
    
         
             
                  unless global_options[:t]
         
     | 
| 
       500 
     | 
    
         
            -
                    @jt.update_file_tags(file,tags)
         
     | 
| 
      
 501 
     | 
    
         
            +
                    @jt.update_file_tags(file, tags)
         
     | 
| 
       501 
502 
     | 
    
         
             
                    console_log "Updated tags for #{file}", :log => true
         
     | 
| 
       502 
503 
     | 
    
         
             
                  end
         
     | 
| 
       503 
504 
     | 
    
         | 
| 
         @@ -514,12 +515,12 @@ command :remove do |c| 
     | 
|
| 
       514 
515 
     | 
    
         
             
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Defaults to yaml.'
         
     | 
| 
       515 
516 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       516 
517 
     | 
    
         
             
              c.default_value 'yaml'
         
     | 
| 
       517 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 518 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
       518 
519 
     | 
    
         | 
| 
       519 
520 
     | 
    
         
             
              c.desc 'A filepath to a list of tags to be removed'
         
     | 
| 
       520 
521 
     | 
    
         
             
              c.long_desc 'One tag per line, and leading numbers and pipes (|) will be ignored. This file format is generated automatically by the `loners` command, but any text file will do the trick.'
         
     | 
| 
       521 
522 
     | 
    
         
             
              c.arg_name 'input_file'
         
     | 
| 
       522 
     | 
    
         
            -
              c.flag [ 
     | 
| 
      
 523 
     | 
    
         
            +
              c.flag %i[p path], :type => String
         
     | 
| 
       523 
524 
     | 
    
         | 
| 
       524 
525 
     | 
    
         
             
              c.action do |global_options,options,args|
         
     | 
| 
       525 
526 
     | 
    
         
             
                files = []
         
     | 
| 
         @@ -565,7 +566,7 @@ command :remove do |c| 
     | 
|
| 
       565 
566 
     | 
    
         
             
                    }
         
     | 
| 
       566 
567 
     | 
    
         
             
                  }
         
     | 
| 
       567 
568 
     | 
    
         
             
                  unless global_options[:t]
         
     | 
| 
       568 
     | 
    
         
            -
                    @jt.update_file_tags(file,tags)
         
     | 
| 
      
 569 
     | 
    
         
            +
                    @jt.update_file_tags(file, tags)
         
     | 
| 
       569 
570 
     | 
    
         
             
                    console_log "Updated tags for #{file}", :log => true
         
     | 
| 
       570 
571 
     | 
    
         
             
                  end
         
     | 
| 
       571 
572 
     | 
    
         | 
| 
         @@ -579,20 +580,21 @@ end 
     | 
|
| 
       579 
580 
     | 
    
         
             
            desc 'Generate a list of recommended tags, optionally updating the file'
         
     | 
| 
       580 
581 
     | 
    
         
             
            arg_name 'file_pattern', :multiple
         
     | 
| 
       581 
582 
     | 
    
         
             
            command :tag do |c|
         
     | 
| 
       582 
     | 
    
         
            -
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml.  
     | 
| 
      
 583 
     | 
    
         
            +
              c.desc 'Format to use when outputting tags to console: list, json, plist, csv or yaml. Use "complete" to output full text when input is STDIN.'
         
     | 
| 
       583 
584 
     | 
    
         
             
              c.arg_name 'output_format'
         
     | 
| 
       584 
     | 
    
         
            -
              c.default_value 'yaml'
         
     | 
| 
       585 
     | 
    
         
            -
              c.flag [:f,:format], :must_match => /^(csv|list|yaml|json|plist)$/, :type => String
         
     | 
| 
      
 585 
     | 
    
         
            +
              c.flag %i[f format], :must_match => /^(csv|list|yaml|json|plist|complete)$/, :type => String, :default_value => 'yaml'
         
     | 
| 
       586 
586 
     | 
    
         | 
| 
       587 
     | 
    
         
            -
              c.action do |global_options,options,args|
         
     | 
| 
      
 587 
     | 
    
         
            +
              c.action do |global_options, options, args|
         
     | 
| 
       588 
588 
     | 
    
         
             
                if @piped_content
         
     | 
| 
       589 
589 
     | 
    
         
             
                  suggestions = @jt.suggest(@piped_content)
         
     | 
| 
       590 
     | 
    
         
            -
                  if  
     | 
| 
       591 
     | 
    
         
            -
                     
     | 
| 
       592 
     | 
    
         
            -
             
     | 
| 
       593 
     | 
    
         
            -
             
     | 
| 
       594 
     | 
    
         
            -
             
     | 
| 
       595 
     | 
    
         
            -
                     
     | 
| 
      
 590 
     | 
    
         
            +
                  if args.length > 0
         
     | 
| 
      
 591 
     | 
    
         
            +
                    console_log
         
     | 
| 
      
 592 
     | 
    
         
            +
                    console_log 'STDIN:', :err => true
         
     | 
| 
      
 593 
     | 
    
         
            +
                  end
         
     | 
| 
      
 594 
     | 
    
         
            +
                  if options[:format] == 'complete'
         
     | 
| 
      
 595 
     | 
    
         
            +
                    @jt.update_file_tags(@piped_content, suggestions, true)
         
     | 
| 
      
 596 
     | 
    
         
            +
                  else
         
     | 
| 
      
 597 
     | 
    
         
            +
                    output_tags(suggestions, :format => options[:format], :filename => nil)
         
     | 
| 
       596 
598 
     | 
    
         
             
                  end
         
     | 
| 
       597 
599 
     | 
    
         
             
                end
         
     | 
| 
       598 
600 
     | 
    
         
             
                args.each {|file|
         
     | 
| 
         @@ -670,7 +672,7 @@ end 
     | 
|
| 
       670 
672 
     | 
    
         
             
            #   end
         
     | 
| 
       671 
673 
     | 
    
         
             
            # end
         
     | 
| 
       672 
674 
     | 
    
         | 
| 
       673 
     | 
    
         
            -
            pre do |global,command,options,args|
         
     | 
| 
      
 675 
     | 
    
         
            +
            pre do |global, command, options, args|
         
     | 
| 
       674 
676 
     | 
    
         
             
              # Use skips_pre before a command to skip this block
         
     | 
| 
       675 
677 
     | 
    
         
             
              # on that command only
         
     | 
| 
       676 
678 
     | 
    
         
             
              @silent = global[:silent]
         
     | 
| 
         @@ -690,11 +692,7 @@ pre do |global,command,options,args| 
     | 
|
| 
       690 
692 
     | 
    
         
             
              global[:config] = YAML::load(File.open(configfile,"r"))
         
     | 
| 
       691 
693 
     | 
    
         
             
              global[:support] = File.expand_path("~/.jtag")
         
     | 
| 
       692 
694 
     | 
    
         | 
| 
       693 
     | 
    
         
            -
               
     | 
| 
       694 
     | 
    
         
            -
                @piped_content = STDIN.read
         
     | 
| 
       695 
     | 
    
         
            -
              else
         
     | 
| 
       696 
     | 
    
         
            -
                @piped_content = false
         
     | 
| 
       697 
     | 
    
         
            -
              end
         
     | 
| 
      
 695 
     | 
    
         
            +
              @piped_content = STDIN.stat.size > 0 ? STDIN.read : nil
         
     | 
| 
       698 
696 
     | 
    
         | 
| 
       699 
697 
     | 
    
         
             
              @jt = JTag.new(global[:support], global[:config])
         
     | 
| 
       700 
698 
     | 
    
         | 
    
        data/lib/jtag/jekylltag.rb
    CHANGED
    
    | 
         @@ -78,8 +78,8 @@ class JTag 
     | 
|
| 
       78 
78 
     | 
    
         
             
                compiled
         
     | 
| 
       79 
79 
     | 
    
         
             
              end
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
     | 
    
         
            -
              def split_post(file)
         
     | 
| 
       82 
     | 
    
         
            -
                input = IO.read(file)
         
     | 
| 
      
 81 
     | 
    
         
            +
              def split_post(file, piped = false)
         
     | 
| 
      
 82 
     | 
    
         
            +
                input = piped ? file : IO.read(file)
         
     | 
| 
       83 
83 
     | 
    
         
             
                # Check to see if it's a full post with YAML headers
         
     | 
| 
       84 
84 
     | 
    
         
             
                post_parts = input.split(/^[\.\-]{3}\s*$/)
         
     | 
| 
       85 
85 
     | 
    
         
             
                if post_parts.length >= 3
         
     | 
| 
         @@ -94,7 +94,7 @@ class JTag 
     | 
|
| 
       94 
94 
     | 
    
         | 
| 
       95 
95 
     | 
    
         
             
              def post_tags(file, piped=false)
         
     | 
| 
       96 
96 
     | 
    
         
             
                begin
         
     | 
| 
       97 
     | 
    
         
            -
                  input = piped ? file : IO.read(file)
         
     | 
| 
      
 97 
     | 
    
         
            +
                  input = piped ? file.strip : IO.read(file)
         
     | 
| 
       98 
98 
     | 
    
         
             
                  yaml = YAML::load(input)
         
     | 
| 
       99 
99 
     | 
    
         
             
                  return yaml[@tags_key] || []
         
     | 
| 
       100 
100 
     | 
    
         
             
                rescue
         
     | 
| 
         @@ -191,15 +191,21 @@ class JTag 
     | 
|
| 
       191 
191 
     | 
    
         
             
                end
         
     | 
| 
       192 
192 
     | 
    
         
             
              end
         
     | 
| 
       193 
193 
     | 
    
         | 
| 
       194 
     | 
    
         
            -
              def update_file_tags(file, tags)
         
     | 
| 
      
 194 
     | 
    
         
            +
              def update_file_tags(file, tags, piped = false)
         
     | 
| 
       195 
195 
     | 
    
         
             
                begin
         
     | 
| 
       196 
     | 
    
         
            -
                  if File.exists?(file)
         
     | 
| 
       197 
     | 
    
         
            -
                    yaml, after = split_post(file)
         
     | 
| 
      
 196 
     | 
    
         
            +
                  if File.exists?(file) || piped
         
     | 
| 
      
 197 
     | 
    
         
            +
                    yaml, after = split_post(file, piped)
         
     | 
| 
       198 
198 
     | 
    
         
             
                    yaml[@tags_key] = tags
         
     | 
| 
       199 
     | 
    
         
            -
                     
     | 
| 
       200 
     | 
    
         
            -
                       
     | 
| 
       201 
     | 
    
         
            -
                       
     | 
| 
       202 
     | 
    
         
            -
                       
     | 
| 
      
 199 
     | 
    
         
            +
                    if piped
         
     | 
| 
      
 200 
     | 
    
         
            +
                      puts yaml.to_yaml
         
     | 
| 
      
 201 
     | 
    
         
            +
                      puts "---"
         
     | 
| 
      
 202 
     | 
    
         
            +
                      puts after
         
     | 
| 
      
 203 
     | 
    
         
            +
                    else
         
     | 
| 
      
 204 
     | 
    
         
            +
                      File.open(file,'w+') do |f|
         
     | 
| 
      
 205 
     | 
    
         
            +
                        f.puts yaml.to_yaml
         
     | 
| 
      
 206 
     | 
    
         
            +
                        f.puts "---"
         
     | 
| 
      
 207 
     | 
    
         
            +
                        f.puts after
         
     | 
| 
      
 208 
     | 
    
         
            +
                      end
         
     | 
| 
       203 
209 
     | 
    
         
             
                    end
         
     | 
| 
       204 
210 
     | 
    
         
             
                  else
         
     | 
| 
       205 
211 
     | 
    
         
             
                    raise "File does not exist: #{file}"
         
     | 
    
        data/lib/jtag/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: jtag
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.1. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.1.17
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Brett Terpstra
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2021- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2021-08-27 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake
         
     |