gli 2.6.0 → 2.6.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.
| @@ -18,6 +18,11 @@ module GLI | |
| 18 18 | 
             
                  self.name.to_s <=> other.name.to_s
         | 
| 19 19 | 
             
                end
         | 
| 20 20 |  | 
| 21 | 
            +
                # Array of the name and aliases, as string
         | 
| 22 | 
            +
                def names_and_aliases
         | 
| 23 | 
            +
                  [self.name,self.aliases].flatten.compact.map(&:to_s)
         | 
| 24 | 
            +
                end
         | 
| 25 | 
            +
             | 
| 21 26 | 
             
                private
         | 
| 22 27 | 
             
                # Returns a string of all possible forms
         | 
| 23 28 | 
             
                # of this flag.  Mostly intended for printing
         | 
| @@ -67,8 +67,7 @@ COMMANDS | |
| 67 67 | 
             
                                      sub.flags.merge(sub.switches)
         | 
| 68 68 | 
             
                                    end
         | 
| 69 69 | 
             
                      usage << sub_options.map { |option_name,option| 
         | 
| 70 | 
            -
                         | 
| 71 | 
            -
                        all_names.map { |_| 
         | 
| 70 | 
            +
                        option.names_and_aliases.map { |_| 
         | 
| 72 71 | 
             
                          CommandLineOption.name_as_string(_,false) + (option.kind_of?(Flag) ? " #{option.argument_name }" : '')
         | 
| 73 72 | 
             
                        }.join('|')
         | 
| 74 73 | 
             
                      }.map { |_| "[#{_}]" }.sort.join(' ')
         | 
| @@ -37,8 +37,12 @@ module GLI | |
| 37 37 | 
             
              private
         | 
| 38 38 |  | 
| 39 39 | 
             
                def set_defaults(options_by_name,options_hash)
         | 
| 40 | 
            -
                  options_by_name.each do | | 
| 41 | 
            -
                     | 
| 40 | 
            +
                  options_by_name.values.each do |option|
         | 
| 41 | 
            +
                    option.names_and_aliases.each do |option_name|
         | 
| 42 | 
            +
                      [option_name,option_name.to_sym].each do |name|
         | 
| 43 | 
            +
                        options_hash[name] = option.default_value if options_hash[name].nil?
         | 
| 44 | 
            +
                      end
         | 
| 45 | 
            +
                    end
         | 
| 42 46 | 
             
                  end
         | 
| 43 47 | 
             
                end
         | 
| 44 48 |  | 
| @@ -53,7 +57,7 @@ module GLI | |
| 53 57 | 
             
                def self.setup_options(opts,tokens,options)
         | 
| 54 58 | 
             
                  tokens.each do |ignore,token|
         | 
| 55 59 | 
             
                    opts.on(*token.arguments_for_option_parser) do |arg|
         | 
| 56 | 
            -
                       | 
| 60 | 
            +
                      token.names_and_aliases.each do |name|
         | 
| 57 61 | 
             
                        options[name] = arg
         | 
| 58 62 | 
             
                        options[name.to_sym] = arg
         | 
| 59 63 | 
             
                      end
         | 
    
        data/lib/gli/version.rb
    CHANGED
    
    
    
        data/test/tc_gli.rb
    CHANGED
    
    | @@ -419,11 +419,11 @@ class TC_testGLI < Clean::Test::TestCase | |
| 419 419 | 
             
                  c.flag :i
         | 
| 420 420 | 
             
                  c.flag :s
         | 
| 421 421 | 
             
                  c.action do |g,o,a|
         | 
| 422 | 
            -
                    assert_equal " | 
| 423 | 
            -
                    assert_equal  | 
| 422 | 
            +
                    assert_equal "1", o[:i]
         | 
| 423 | 
            +
                    assert_equal nil, o[:s]
         | 
| 424 424 | 
             
                  end
         | 
| 425 425 | 
             
                end
         | 
| 426 | 
            -
                @app.run(['foo', | 
| 426 | 
            +
                @app.run(['foo','a'])
         | 
| 427 427 | 
             
              end
         | 
| 428 428 |  | 
| 429 429 | 
             
              def test_switch_with_default_of_true
         | 
| @@ -480,6 +480,39 @@ class TC_testGLI < Clean::Test::TestCase | |
| 480 480 | 
             
                @app.run(['foo', '-i5','-sa'])
         | 
| 481 481 | 
             
              end
         | 
| 482 482 |  | 
| 483 | 
            +
              def test_default_values_are_available_on_all_aliases
         | 
| 484 | 
            +
                @app.reset
         | 
| 485 | 
            +
                @app.on_error { |e| raise e }
         | 
| 486 | 
            +
             | 
| 487 | 
            +
                @app.default_value "global_default"
         | 
| 488 | 
            +
                @app.flag [ :f, :flag ]
         | 
| 489 | 
            +
             | 
| 490 | 
            +
                @global_options = {}
         | 
| 491 | 
            +
                @command_options = {}
         | 
| 492 | 
            +
             | 
| 493 | 
            +
                @app.command [:foo] do |c|
         | 
| 494 | 
            +
                  c.default_value "command_default"
         | 
| 495 | 
            +
                  c.flag [ :c,:commandflag]
         | 
| 496 | 
            +
             | 
| 497 | 
            +
                  c.action do |g,o,a|
         | 
| 498 | 
            +
                    @global_options = g
         | 
| 499 | 
            +
                    @command_options = o
         | 
| 500 | 
            +
                  end
         | 
| 501 | 
            +
                end
         | 
| 502 | 
            +
             | 
| 503 | 
            +
                @app.run(["foo"])
         | 
| 504 | 
            +
             | 
| 505 | 
            +
                assert_equal "global_default", @global_options[:f]
         | 
| 506 | 
            +
                assert_equal "global_default", @global_options[:flag]
         | 
| 507 | 
            +
                assert_equal "global_default", @global_options["f"]
         | 
| 508 | 
            +
                assert_equal "global_default", @global_options["flag"]
         | 
| 509 | 
            +
             | 
| 510 | 
            +
                assert_equal "command_default", @command_options[:c]
         | 
| 511 | 
            +
                assert_equal "command_default", @command_options[:commandflag]
         | 
| 512 | 
            +
                assert_equal "command_default", @command_options["c"]
         | 
| 513 | 
            +
                assert_equal "command_default", @command_options["commandflag"]
         | 
| 514 | 
            +
              end
         | 
| 515 | 
            +
             | 
| 483 516 | 
             
              def test_exits_zero_on_success
         | 
| 484 517 | 
             
                @app.reset
         | 
| 485 518 | 
             
                assert_equal 0,@app.run([]),@fake_stderr.to_s
         | 
    
        data/test/tc_subcommands.rb
    CHANGED
    
    | @@ -137,10 +137,12 @@ class TC_testSubCommand < Clean::Test::TestCase | |
| 137 137 |  | 
| 138 138 | 
             
              def indifferent_hash(possibly_nil_hash)
         | 
| 139 139 | 
             
                return {} if possibly_nil_hash.nil?
         | 
| 140 | 
            -
                keys  | 
| 141 | 
            -
             | 
| 142 | 
            -
             | 
| 143 | 
            -
                   | 
| 140 | 
            +
                possibly_nil_hash.keys.each do |key|
         | 
| 141 | 
            +
                  if key.kind_of? Symbol
         | 
| 142 | 
            +
                    possibly_nil_hash[key.to_s] = possibly_nil_hash[key] unless possibly_nil_hash.has_key?(key.to_s)
         | 
| 143 | 
            +
                  elsif key.kind_of? String
         | 
| 144 | 
            +
                    possibly_nil_hash[key.to_sym] = possibly_nil_hash[key] unless possibly_nil_hash.has_key?(key.to_sym)
         | 
| 145 | 
            +
                  end
         | 
| 144 146 | 
             
                end
         | 
| 145 147 | 
             
                possibly_nil_hash
         | 
| 146 148 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: gli
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.6. | 
| 4 | 
            +
              version: 2.6.1
         | 
| 5 5 | 
             
              prerelease: 
         | 
| 6 6 | 
             
            platform: ruby
         | 
| 7 7 | 
             
            authors:
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2013-06- | 
| 12 | 
            +
            date: 2013-06-26 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: rake
         |