tty-color 0.4.1 → 0.5.2
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 +5 -5
- data/CHANGELOG.md +45 -4
- data/README.md +28 -7
- data/lib/tty-color.rb +1 -4
- data/lib/tty/color.rb +10 -9
- data/lib/tty/color/mode.rb +6 -4
- data/lib/tty/color/support.rb +15 -15
- data/lib/tty/color/version.rb +2 -2
- metadata +27 -44
- data/.gitignore +0 -14
- data/.rspec +0 -3
- data/.travis.yml +0 -25
- data/Gemfile +0 -16
- data/Rakefile +0 -8
- data/appveyor.yml +0 -23
- data/spec/spec_helper.rb +0 -45
- data/spec/unit/color_spec.rb +0 -21
- data/spec/unit/mode_spec.rb +0 -103
- data/spec/unit/supports_spec.rb +0 -129
- data/tasks/console.rake +0 -11
- data/tasks/coverage.rake +0 -11
- data/tasks/spec.rake +0 -29
- data/tty-color.gemspec +0 -23
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: 0e15fe9b9cd238ffaf8dc33f932e1435ec56ce4c6c3f1074fe3a6dc0bdaa24a5
         | 
| 4 | 
            +
              data.tar.gz: 298d8b7d999481827b971216d9189b933c11f7b20cbb745dc3b0c49de84e382f
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 7d821ce739f310a20759eb1297bf3c3c4079b0fb34b1102b927222d013c3eafe5bbbf74edd08084ff983f2ddcd52192d4b0e3f7d3d3c78bb081d5facc1e84dfb
         | 
| 7 | 
            +
              data.tar.gz: 6dbe41556440dd9dea0f5329dc5a6384cc1ae7e7b968db341f58a781741867ea8169937c849a5c0dcc97ab88df0a88f5077bae9b43dea23dfdc8ff436b8d0856
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,5 +1,40 @@ | |
| 1 1 | 
             
            # Change log
         | 
| 2 2 |  | 
| 3 | 
            +
            ## [v0.5.2] - 2020-08-09
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ### Changed
         | 
| 6 | 
            +
            * Change gemspec and remove bundler as dev dependency
         | 
| 7 | 
            +
            * Change TTY::Color::Support to define verbose as keyword argument
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ### Fix
         | 
| 10 | 
            +
            * Fix gemspec metadata links by Igor Kapkov(@igas)
         | 
| 11 | 
            +
             | 
| 12 | 
            +
            ## [v0.5.1] - 2020-01-22
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            ### Changed
         | 
| 15 | 
            +
            * Change gemspec to add metadata and remove test artefacts
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            ## [v0.5.0] - 2019-05-29
         | 
| 18 | 
            +
             | 
| 19 | 
            +
            ### Changed
         | 
| 20 | 
            +
            * Change gemspec to load files without git
         | 
| 21 | 
            +
            * Change to limit to Ruby >= 2.0.0
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            ## [v0.4.3] - 2018-07-11
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            ### Changed
         | 
| 26 | 
            +
            * Change to use relative file paths
         | 
| 27 | 
            +
            * Change to ensure immutable strings
         | 
| 28 | 
            +
            * Change Color to use alias call
         | 
| 29 | 
            +
             | 
| 30 | 
            +
            ### Fixed
         | 
| 31 | 
            +
            * Fix to support iTerm 2.app for 256 color mode detection by Michael Lang(@mwlang)
         | 
| 32 | 
            +
             | 
| 33 | 
            +
            ## [v0.4.2] - 2017-02-06
         | 
| 34 | 
            +
             | 
| 35 | 
            +
            ### Fixed
         | 
| 36 | 
            +
            * Fix File namespaces
         | 
| 37 | 
            +
             | 
| 3 38 | 
             
            ## [v0.4.1] - 2017-01-22
         | 
| 4 39 |  | 
| 5 40 | 
             
            ### Fixed
         | 
| @@ -38,7 +73,13 @@ | |
| 38 73 |  | 
| 39 74 | 
             
            * Initial implementation and release
         | 
| 40 75 |  | 
| 41 | 
            -
            [v0. | 
| 42 | 
            -
            [v0. | 
| 43 | 
            -
            [v0. | 
| 44 | 
            -
            [v0. | 
| 76 | 
            +
            [v0.5.2]: https://github.com/piotrmurach/tty-color/compare/v0.5.1...v0.5.2
         | 
| 77 | 
            +
            [v0.5.1]: https://github.com/piotrmurach/tty-color/compare/v0.5.0...v0.5.1
         | 
| 78 | 
            +
            [v0.5.0]: https://github.com/piotrmurach/tty-color/compare/v0.4.3...v0.5.0
         | 
| 79 | 
            +
            [v0.4.3]: https://github.com/piotrmurach/tty-color/compare/v0.4.2...v0.4.3
         | 
| 80 | 
            +
            [v0.4.2]: https://github.com/piotrmurach/tty-color/compare/v0.4.1...v0.4.2
         | 
| 81 | 
            +
            [v0.4.1]: https://github.com/piotrmurach/tty-color/compare/v0.4.0...v0.4.1
         | 
| 82 | 
            +
            [v0.4.0]: https://github.com/piotrmurach/tty-color/compare/v0.3.0...v0.4.0
         | 
| 83 | 
            +
            [v0.3.0]: https://github.com/piotrmurach/tty-color/compare/v0.2.0...v0.3.0
         | 
| 84 | 
            +
            [v0.2.0]: https://github.com/piotrmurach/tty-color/compare/v0.1.0...v0.2.0
         | 
| 85 | 
            +
            [v0.1.0]: https://github.com/piotrmurach/tty-color/compare/v0.1.0
         | 
    
        data/README.md
    CHANGED
    
    | @@ -1,4 +1,9 @@ | |
| 1 | 
            +
            <div align="center">
         | 
| 2 | 
            +
              <a href="https://piotrmurach.github.io/tty" target="_blank"><img width="130" src="https://cdn.rawgit.com/piotrmurach/tty/master/images/tty.png" alt="tty logo" /></a>
         | 
| 3 | 
            +
            </div>
         | 
| 4 | 
            +
             | 
| 1 5 | 
             
            # TTY::Color [][gitter]
         | 
| 6 | 
            +
             | 
| 2 7 | 
             
            [][gem]
         | 
| 3 8 | 
             
            [][travis]
         | 
| 4 9 | 
             
            [][appveyor]
         | 
| @@ -39,8 +44,8 @@ Or install it yourself as: | |
| 39 44 | 
             
            **TTY::Color** allows you to check if terminal supports color:
         | 
| 40 45 |  | 
| 41 46 | 
             
            ```ruby
         | 
| 42 | 
            -
            TTY::Color.color? | 
| 43 | 
            -
            TTY::Color. | 
| 47 | 
            +
            TTY::Color.color?    # => true
         | 
| 48 | 
            +
            TTY::Color.support?  # => true
         | 
| 44 49 | 
             
            ```
         | 
| 45 50 |  | 
| 46 51 | 
             
            Also you can get the number of colors supported by the terminal:
         | 
| @@ -63,26 +68,42 @@ puts color? | |
| 63 68 |  | 
| 64 69 | 
             
            [tty-color-cli](https://github.com/piotrmurach/tty-color-cli) is a command line tool for the **TTY::Color**.
         | 
| 65 70 |  | 
| 66 | 
            -
            To check if terminal supports colors  | 
| 71 | 
            +
            To check if terminal supports colors use `-s|--support`:
         | 
| 67 72 |  | 
| 68 73 | 
             
            ```bash
         | 
| 69 | 
            -
            color -s
         | 
| 74 | 
            +
            tty-color -s
         | 
| 75 | 
            +
            tty-color --support
         | 
| 76 | 
            +
            # => true
         | 
| 70 77 | 
             
            ```
         | 
| 71 78 |  | 
| 72 | 
            -
             | 
| 79 | 
            +
            And to check color mode use `-m|--mode` option:
         | 
| 73 80 |  | 
| 74 81 | 
             
            ```bash
         | 
| 75 | 
            -
            color -m
         | 
| 82 | 
            +
            tty-color -m
         | 
| 83 | 
            +
            tty-color --mode
         | 
| 84 | 
            +
            # => 256
         | 
| 76 85 | 
             
            ```
         | 
| 77 86 |  | 
| 87 | 
            +
            ## Development
         | 
| 88 | 
            +
             | 
| 89 | 
            +
            After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
         | 
| 90 | 
            +
             | 
| 91 | 
            +
            To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
         | 
| 92 | 
            +
             | 
| 78 93 | 
             
            ## Contributing
         | 
| 79 94 |  | 
| 95 | 
            +
            Bug reports and pull requests are welcome on GitHub at https://github.com/piotrmurach/tty-color. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
         | 
| 96 | 
            +
             | 
| 80 97 | 
             
            1. Fork it ( https://github.com/piotrmurach/tty-color/fork )
         | 
| 81 98 | 
             
            2. Create your feature branch (`git checkout -b my-new-feature`)
         | 
| 82 99 | 
             
            3. Commit your changes (`git commit -am 'Add some feature'`)
         | 
| 83 100 | 
             
            4. Push to the branch (`git push origin my-new-feature`)
         | 
| 84 101 | 
             
            5. Create a new Pull Request
         | 
| 85 102 |  | 
| 103 | 
            +
            ## Code of Conduct
         | 
| 104 | 
            +
             | 
| 105 | 
            +
            Everyone interacting in the TTY::Color project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/piotrmurach/tty-color/blob/master/CODE_OF_CONDUCT.md).
         | 
| 106 | 
            +
             | 
| 86 107 | 
             
            ## Copyright
         | 
| 87 108 |  | 
| 88 | 
            -
            Copyright (c) 2016 | 
| 109 | 
            +
            Copyright (c) 2016 Piotr Murach. See LICENSE for further details.
         | 
    
        data/lib/tty-color.rb
    CHANGED
    
    
    
        data/lib/tty/color.rb
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 | 
            -
            #  | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 | 
            -
             | 
| 4 | 
            -
             | 
| 5 | 
            -
             | 
| 3 | 
            +
            require_relative "color/support"
         | 
| 4 | 
            +
            require_relative "color/mode"
         | 
| 5 | 
            +
            require_relative "color/version"
         | 
| 6 6 |  | 
| 7 7 | 
             
            module TTY
         | 
| 8 8 | 
             
              # Responsible for checking terminal color support
         | 
| @@ -24,11 +24,12 @@ module TTY | |
| 24 24 | 
             
                # @return [Boolean]
         | 
| 25 25 | 
             
                #
         | 
| 26 26 | 
             
                # @api public
         | 
| 27 | 
            -
                def  | 
| 28 | 
            -
                  Support.new(ENV, verbose: verbose). | 
| 27 | 
            +
                def support?
         | 
| 28 | 
            +
                  Support.new(ENV, verbose: verbose).support?
         | 
| 29 29 | 
             
                end
         | 
| 30 | 
            -
                 | 
| 31 | 
            -
                 | 
| 30 | 
            +
                alias supports? support?
         | 
| 31 | 
            +
                alias color? support?
         | 
| 32 | 
            +
                alias supports_color? support?
         | 
| 32 33 |  | 
| 33 34 | 
             
                # Check how many colors this terminal supports
         | 
| 34 35 | 
             
                #
         | 
| @@ -54,7 +55,7 @@ module TTY | |
| 54 55 | 
             
                #
         | 
| 55 56 | 
             
                # @api public
         | 
| 56 57 | 
             
                def command?(cmd)
         | 
| 57 | 
            -
                  !!system(cmd, out: File::NULL, err: File::NULL)
         | 
| 58 | 
            +
                  !!system(cmd, out: ::File::NULL, err: ::File::NULL)
         | 
| 58 59 | 
             
                end
         | 
| 59 60 |  | 
| 60 61 | 
             
                # Check if Windowz
         | 
    
        data/lib/tty/color/mode.rb
    CHANGED
    
    | @@ -1,9 +1,9 @@ | |
| 1 | 
            -
            #  | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module TTY
         | 
| 4 4 | 
             
              module Color
         | 
| 5 5 | 
             
                class Mode
         | 
| 6 | 
            -
                  TERM_256 = /iTerm.app/x
         | 
| 6 | 
            +
                  TERM_256 = /iTerm(\s\d+){0,1}.app/x
         | 
| 7 7 |  | 
| 8 8 | 
             
                  TERM_64 = /^(hpterm-color|wy370|wy370-105k|wy370-EPC|wy370-nk|
         | 
| 9 9 | 
             
                             wy370-rv|wy370-tek|wy370-vb|wy370-w|wy370-wvb)$/x
         | 
| @@ -21,6 +21,8 @@ module TTY | |
| 21 21 |  | 
| 22 22 | 
             
                  TERM_8 = /vt100|xnuppc|wy350/x
         | 
| 23 23 |  | 
| 24 | 
            +
                  METHODS = %w[from_term from_tput].freeze
         | 
| 25 | 
            +
             | 
| 24 26 | 
             
                  def initialize(env)
         | 
| 25 27 | 
             
                    @env = env
         | 
| 26 28 | 
             
                  end
         | 
| @@ -35,7 +37,7 @@ module TTY | |
| 35 37 | 
             
                    return 0 unless TTY::Color.tty?
         | 
| 36 38 |  | 
| 37 39 | 
             
                    value = 8
         | 
| 38 | 
            -
                     | 
| 40 | 
            +
                    METHODS.each do |from_check|
         | 
| 39 41 | 
             
                      break if (value = public_send(from_check)) != NoValue
         | 
| 40 42 | 
             
                    end
         | 
| 41 43 | 
             
                    return 8 if value == NoValue
         | 
| @@ -48,7 +50,7 @@ module TTY | |
| 48 50 | 
             
                  #
         | 
| 49 51 | 
             
                  # @api private
         | 
| 50 52 | 
             
                  def from_term
         | 
| 51 | 
            -
                    case @env[ | 
| 53 | 
            +
                    case @env["TERM"]
         | 
| 52 54 | 
             
                    when /[\-\+](\d+)color/ then $1.to_i
         | 
| 53 55 | 
             
                    when /[\-\+](\d+)bit/   then 2 ** $1.to_i
         | 
| 54 56 | 
             
                    when TERM_256 then 256
         | 
    
        data/lib/tty/color/support.rb
    CHANGED
    
    | @@ -1,15 +1,16 @@ | |
| 1 | 
            -
            #  | 
| 1 | 
            +
            # frozen_string_literal: true
         | 
| 2 2 |  | 
| 3 3 | 
             
            module TTY
         | 
| 4 4 | 
             
              module Color
         | 
| 5 5 | 
             
                class Support
         | 
| 6 | 
            -
                  SOURCES = %w | 
| 6 | 
            +
                  SOURCES = %w[from_term from_tput from_env from_curses].freeze
         | 
| 7 | 
            +
                  ENV_VARS = %w[COLORTERM ANSICON].freeze
         | 
| 7 8 |  | 
| 8 9 | 
             
                  # Initialize a color support
         | 
| 9 10 | 
             
                  # @api public
         | 
| 10 | 
            -
                  def initialize(env,  | 
| 11 | 
            +
                  def initialize(env, verbose: false)
         | 
| 11 12 | 
             
                    @env = env
         | 
| 12 | 
            -
                    @verbose =  | 
| 13 | 
            +
                    @verbose = verbose
         | 
| 13 14 | 
             
                  end
         | 
| 14 15 |  | 
| 15 16 | 
             
                  # Detect if terminal supports color
         | 
| @@ -18,23 +19,22 @@ module TTY | |
| 18 19 | 
             
                  #   true when terminal supports color, false otherwise
         | 
| 19 20 | 
             
                  #
         | 
| 20 21 | 
             
                  # @api public
         | 
| 21 | 
            -
                  def  | 
| 22 | 
            +
                  def support?
         | 
| 22 23 | 
             
                    return false unless TTY::Color.tty?
         | 
| 23 24 |  | 
| 24 25 | 
             
                    value = false
         | 
| 25 26 | 
             
                    SOURCES.each do |from_check|
         | 
| 26 27 | 
             
                      break if (value = public_send(from_check)) != NoValue
         | 
| 27 28 | 
             
                    end
         | 
| 28 | 
            -
                     | 
| 29 | 
            -
                    value
         | 
| 29 | 
            +
                    value == NoValue ? false : value
         | 
| 30 30 | 
             
                  end
         | 
| 31 31 |  | 
| 32 32 | 
             
                  # Inspect environment $TERM variable for color support
         | 
| 33 33 | 
             
                  #
         | 
| 34 34 | 
             
                  # @api private
         | 
| 35 35 | 
             
                  def from_term
         | 
| 36 | 
            -
                    case @env[ | 
| 37 | 
            -
                    when  | 
| 36 | 
            +
                    case @env["TERM"]
         | 
| 37 | 
            +
                    when "dumb" then false
         | 
| 38 38 | 
             
                    when /^screen|^xterm|^vt100|color|ansi|cygwin|linux/i then true
         | 
| 39 39 | 
             
                    else NoValue
         | 
| 40 40 | 
             
                    end
         | 
| @@ -44,10 +44,9 @@ module TTY | |
| 44 44 | 
             
                  #
         | 
| 45 45 | 
             
                  # @api private
         | 
| 46 46 | 
             
                  def from_tput
         | 
| 47 | 
            +
                    return NoValue if !TTY::Color.command?("tput colors")
         | 
| 48 | 
            +
             | 
| 47 49 | 
             
                    cmd = %q(tput colors 2>/dev/null)
         | 
| 48 | 
            -
                    if !TTY::Color.command?("tput colors")
         | 
| 49 | 
            -
                      return NoValue
         | 
| 50 | 
            -
                    end
         | 
| 51 50 | 
             
                    `#{cmd}`.to_i > 2
         | 
| 52 51 | 
             
                  rescue Errno::ENOENT
         | 
| 53 52 | 
             
                    NoValue
         | 
| @@ -57,7 +56,7 @@ module TTY | |
| 57 56 | 
             
                  #
         | 
| 58 57 | 
             
                  # @api private
         | 
| 59 58 | 
             
                  def from_env
         | 
| 60 | 
            -
                     | 
| 59 | 
            +
                    ENV_VARS.any? { |key| @env.key?(key) } || NoValue
         | 
| 61 60 | 
             
                  end
         | 
| 62 61 |  | 
| 63 62 | 
             
                  # Attempt to load curses to check color support
         | 
| @@ -67,7 +66,8 @@ module TTY | |
| 67 66 | 
             
                  # @api private
         | 
| 68 67 | 
             
                  def from_curses(curses_class = nil)
         | 
| 69 68 | 
             
                    return NoValue if TTY::Color.windows?
         | 
| 70 | 
            -
             | 
| 69 | 
            +
             | 
| 70 | 
            +
                    require "curses"
         | 
| 71 71 |  | 
| 72 72 | 
             
                    if defined?(Curses)
         | 
| 73 73 | 
             
                      curses_class ||= Curses
         | 
| @@ -78,7 +78,7 @@ module TTY | |
| 78 78 | 
             
                    end
         | 
| 79 79 | 
             
                    NoValue
         | 
| 80 80 | 
             
                  rescue LoadError
         | 
| 81 | 
            -
                    warn  | 
| 81 | 
            +
                    warn "no native curses support" if @verbose
         | 
| 82 82 | 
             
                    NoValue
         | 
| 83 83 | 
             
                  end
         | 
| 84 84 | 
             
                end # Support
         | 
    
        data/lib/tty/color/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,82 +1,71 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: tty-color
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0. | 
| 4 | 
            +
              version: 0.5.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Piotr Murach
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 | 
            -
            bindir:  | 
| 9 | 
            +
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2020-08-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name:  | 
| 14 | 
            +
              name: rake
         | 
| 15 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 16 | 
             
                requirements:
         | 
| 17 17 | 
             
                - - ">="
         | 
| 18 18 | 
             
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version:  | 
| 20 | 
            -
                - - "<"
         | 
| 21 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 22 | 
            -
                    version: '2.0'
         | 
| 19 | 
            +
                    version: '0'
         | 
| 23 20 | 
             
              type: :development
         | 
| 24 21 | 
             
              prerelease: false
         | 
| 25 22 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 26 23 | 
             
                requirements:
         | 
| 27 24 | 
             
                - - ">="
         | 
| 28 25 | 
             
                  - !ruby/object:Gem::Version
         | 
| 29 | 
            -
                    version:  | 
| 30 | 
            -
                - - "<"
         | 
| 31 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 32 | 
            -
                    version: '2.0'
         | 
| 26 | 
            +
                    version: '0'
         | 
| 33 27 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 34 | 
            -
              name:  | 
| 28 | 
            +
              name: rspec
         | 
| 35 29 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 36 30 | 
             
                requirements:
         | 
| 37 | 
            -
                - - " | 
| 31 | 
            +
                - - ">="
         | 
| 38 32 | 
             
                  - !ruby/object:Gem::Version
         | 
| 39 | 
            -
                    version: ' | 
| 33 | 
            +
                    version: '3.0'
         | 
| 40 34 | 
             
              type: :development
         | 
| 41 35 | 
             
              prerelease: false
         | 
| 42 36 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 43 37 | 
             
                requirements:
         | 
| 44 | 
            -
                - - " | 
| 38 | 
            +
                - - ">="
         | 
| 45 39 | 
             
                  - !ruby/object:Gem::Version
         | 
| 46 | 
            -
                    version: ' | 
| 40 | 
            +
                    version: '3.0'
         | 
| 47 41 | 
             
            description: Terminal color capabilities detection
         | 
| 48 42 | 
             
            email:
         | 
| 49 | 
            -
            -  | 
| 43 | 
            +
            - piotr@piotrmurach.com
         | 
| 50 44 | 
             
            executables: []
         | 
| 51 45 | 
             
            extensions: []
         | 
| 52 | 
            -
            extra_rdoc_files: | 
| 46 | 
            +
            extra_rdoc_files:
         | 
| 47 | 
            +
            - README.md
         | 
| 48 | 
            +
            - CHANGELOG.md
         | 
| 49 | 
            +
            - LICENSE.txt
         | 
| 53 50 | 
             
            files:
         | 
| 54 | 
            -
            - ".gitignore"
         | 
| 55 | 
            -
            - ".rspec"
         | 
| 56 | 
            -
            - ".travis.yml"
         | 
| 57 51 | 
             
            - CHANGELOG.md
         | 
| 58 | 
            -
            - Gemfile
         | 
| 59 52 | 
             
            - LICENSE.txt
         | 
| 60 53 | 
             
            - README.md
         | 
| 61 | 
            -
            - Rakefile
         | 
| 62 | 
            -
            - appveyor.yml
         | 
| 63 54 | 
             
            - lib/tty-color.rb
         | 
| 64 55 | 
             
            - lib/tty/color.rb
         | 
| 65 56 | 
             
            - lib/tty/color/mode.rb
         | 
| 66 57 | 
             
            - lib/tty/color/support.rb
         | 
| 67 58 | 
             
            - lib/tty/color/version.rb
         | 
| 68 | 
            -
             | 
| 69 | 
            -
            - spec/unit/color_spec.rb
         | 
| 70 | 
            -
            - spec/unit/mode_spec.rb
         | 
| 71 | 
            -
            - spec/unit/supports_spec.rb
         | 
| 72 | 
            -
            - tasks/console.rake
         | 
| 73 | 
            -
            - tasks/coverage.rake
         | 
| 74 | 
            -
            - tasks/spec.rake
         | 
| 75 | 
            -
            - tty-color.gemspec
         | 
| 76 | 
            -
            homepage: http://piotrmurach.github.io/tty
         | 
| 59 | 
            +
            homepage: https://ttytoolkit.org
         | 
| 77 60 | 
             
            licenses:
         | 
| 78 61 | 
             
            - MIT
         | 
| 79 | 
            -
            metadata: | 
| 62 | 
            +
            metadata:
         | 
| 63 | 
            +
              allowed_push_host: https://rubygems.org
         | 
| 64 | 
            +
              bug_tracker_uri: https://github.com/piotrmurach/tty-color/issues
         | 
| 65 | 
            +
              changelog_uri: https://github.com/piotrmurach/tty-color/blob/master/CHANGELOG.md
         | 
| 66 | 
            +
              documentation_uri: https://www.rubydoc.info/gems/tty-color
         | 
| 67 | 
            +
              homepage_uri: https://ttytoolkit.org
         | 
| 68 | 
            +
              source_code_uri: https://github.com/piotrmurach/tty-color
         | 
| 80 69 | 
             
            post_install_message: 
         | 
| 81 70 | 
             
            rdoc_options: []
         | 
| 82 71 | 
             
            require_paths:
         | 
| @@ -85,21 +74,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 85 74 | 
             
              requirements:
         | 
| 86 75 | 
             
              - - ">="
         | 
| 87 76 | 
             
                - !ruby/object:Gem::Version
         | 
| 88 | 
            -
                  version:  | 
| 77 | 
            +
                  version: 2.0.0
         | 
| 89 78 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 90 79 | 
             
              requirements:
         | 
| 91 80 | 
             
              - - ">="
         | 
| 92 81 | 
             
                - !ruby/object:Gem::Version
         | 
| 93 82 | 
             
                  version: '0'
         | 
| 94 83 | 
             
            requirements: []
         | 
| 95 | 
            -
             | 
| 96 | 
            -
            rubygems_version: 2.5.1
         | 
| 84 | 
            +
            rubygems_version: 3.1.2
         | 
| 97 85 | 
             
            signing_key: 
         | 
| 98 86 | 
             
            specification_version: 4
         | 
| 99 87 | 
             
            summary: Terminal color capabilities detection
         | 
| 100 | 
            -
            test_files:
         | 
| 101 | 
            -
            - spec/spec_helper.rb
         | 
| 102 | 
            -
            - spec/unit/color_spec.rb
         | 
| 103 | 
            -
            - spec/unit/mode_spec.rb
         | 
| 104 | 
            -
            - spec/unit/supports_spec.rb
         | 
| 105 | 
            -
            has_rdoc: 
         | 
| 88 | 
            +
            test_files: []
         | 
    
        data/.gitignore
    DELETED
    
    
    
        data/.rspec
    DELETED
    
    
    
        data/.travis.yml
    DELETED
    
    | @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            language: ruby
         | 
| 3 | 
            -
            sudo: false
         | 
| 4 | 
            -
            cache: bundler
         | 
| 5 | 
            -
            script: "bundle exec rake ci"
         | 
| 6 | 
            -
            rvm:
         | 
| 7 | 
            -
              - 1.9.3
         | 
| 8 | 
            -
              - 2.0.0
         | 
| 9 | 
            -
              - 2.1.10
         | 
| 10 | 
            -
              - 2.2.5
         | 
| 11 | 
            -
              - 2.3.1
         | 
| 12 | 
            -
              - ruby-head
         | 
| 13 | 
            -
              - jruby-9000
         | 
| 14 | 
            -
              - jruby-head
         | 
| 15 | 
            -
              - rbx-2
         | 
| 16 | 
            -
            matrix:
         | 
| 17 | 
            -
              allow_failures:
         | 
| 18 | 
            -
                - rvm: ruby-head
         | 
| 19 | 
            -
                - rvm: jruby-head
         | 
| 20 | 
            -
                - rvm: rbx-2
         | 
| 21 | 
            -
              fast_finish: true
         | 
| 22 | 
            -
            branches:
         | 
| 23 | 
            -
              only: master
         | 
| 24 | 
            -
            notifications:
         | 
| 25 | 
            -
              email: false
         | 
    
        data/Gemfile
    DELETED
    
    | @@ -1,16 +0,0 @@ | |
| 1 | 
            -
            source 'https://rubygems.org'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            gemspec
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            group :development do
         | 
| 6 | 
            -
              gem 'rspec', '~> 3.5.0'
         | 
| 7 | 
            -
              gem 'yard',  '~> 0.8.7'
         | 
| 8 | 
            -
              gem 'benchmark-ips', '~> 2.0.0'
         | 
| 9 | 
            -
            end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            group :metrics do
         | 
| 12 | 
            -
              gem 'coveralls', '~> 0.8.2'
         | 
| 13 | 
            -
              gem 'simplecov', '~> 0.10.0'
         | 
| 14 | 
            -
              gem 'yardstick', '~> 0.9.9'
         | 
| 15 | 
            -
              gem 'term-ansicolor', '=1.3.2'
         | 
| 16 | 
            -
            end
         | 
    
        data/Rakefile
    DELETED
    
    
    
        data/appveyor.yml
    DELETED
    
    | @@ -1,23 +0,0 @@ | |
| 1 | 
            -
            ---
         | 
| 2 | 
            -
            install:
         | 
| 3 | 
            -
              - SET PATH=C:\Ruby%ruby_version%\bin;%PATH%
         | 
| 4 | 
            -
              - ruby --version
         | 
| 5 | 
            -
              - gem --version
         | 
| 6 | 
            -
              - bundle install
         | 
| 7 | 
            -
            build: off
         | 
| 8 | 
            -
            test_script:
         | 
| 9 | 
            -
              - bundle exec rake ci
         | 
| 10 | 
            -
            environment:
         | 
| 11 | 
            -
              matrix:
         | 
| 12 | 
            -
                - ruby_version: "193"
         | 
| 13 | 
            -
                - ruby_version: "200"
         | 
| 14 | 
            -
                - ruby_version: "200-x64"
         | 
| 15 | 
            -
                - ruby_version: "21"
         | 
| 16 | 
            -
                - ruby_version: "21-x64"
         | 
| 17 | 
            -
                - ruby_version: "22"
         | 
| 18 | 
            -
                - ruby_version: "22-x64"
         | 
| 19 | 
            -
                - ruby_version: "23"
         | 
| 20 | 
            -
                - ruby_version: "23-x64"
         | 
| 21 | 
            -
            matrix:
         | 
| 22 | 
            -
              allow_failures:
         | 
| 23 | 
            -
                - ruby_version: "193"
         | 
    
        data/spec/spec_helper.rb
    DELETED
    
    | @@ -1,45 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            if RUBY_VERSION > '1.9' and (ENV['COVERAGE'] || ENV['TRAVIS'])
         | 
| 4 | 
            -
              require 'simplecov'
         | 
| 5 | 
            -
              require 'coveralls'
         | 
| 6 | 
            -
             | 
| 7 | 
            -
              SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
         | 
| 8 | 
            -
                SimpleCov::Formatter::HTMLFormatter,
         | 
| 9 | 
            -
                Coveralls::SimpleCov::Formatter
         | 
| 10 | 
            -
              ]
         | 
| 11 | 
            -
             | 
| 12 | 
            -
              SimpleCov.start do
         | 
| 13 | 
            -
                command_name 'spec'
         | 
| 14 | 
            -
                add_filter 'spec'
         | 
| 15 | 
            -
              end
         | 
| 16 | 
            -
            end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            require 'tty-color'
         | 
| 19 | 
            -
             | 
| 20 | 
            -
            RSpec.configure do |config|
         | 
| 21 | 
            -
              config.expect_with :rspec do |expectations|
         | 
| 22 | 
            -
                expectations.include_chain_clauses_in_custom_matcher_descriptions = true
         | 
| 23 | 
            -
              end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
              config.mock_with :rspec do |mocks|
         | 
| 26 | 
            -
                mocks.verify_partial_doubles = true
         | 
| 27 | 
            -
              end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
              # Limits the available syntax to the non-monkey patched syntax that is recommended.
         | 
| 30 | 
            -
              config.disable_monkey_patching!
         | 
| 31 | 
            -
             | 
| 32 | 
            -
              # This setting enables warnings. It's recommended, but in some cases may
         | 
| 33 | 
            -
              # be too noisy due to issues in dependencies.
         | 
| 34 | 
            -
              config.warnings = true
         | 
| 35 | 
            -
             | 
| 36 | 
            -
              if config.files_to_run.one?
         | 
| 37 | 
            -
                config.default_formatter = 'doc'
         | 
| 38 | 
            -
              end
         | 
| 39 | 
            -
             | 
| 40 | 
            -
              config.profile_examples = 2
         | 
| 41 | 
            -
             | 
| 42 | 
            -
              config.order = :random
         | 
| 43 | 
            -
             | 
| 44 | 
            -
              Kernel.srand config.seed
         | 
| 45 | 
            -
            end
         | 
    
        data/spec/unit/color_spec.rb
    DELETED
    
    | @@ -1,21 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            RSpec.describe TTY::Color, 'integratation' do
         | 
| 4 | 
            -
              it "accesses color mode" do
         | 
| 5 | 
            -
                mode_instance = spy(:mode)
         | 
| 6 | 
            -
                allow(TTY::Color::Mode).to receive(:new).and_return(mode_instance)
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                described_class.mode
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                expect(mode_instance).to have_received(:mode)
         | 
| 11 | 
            -
              end
         | 
| 12 | 
            -
             | 
| 13 | 
            -
              it "accesses color support" do
         | 
| 14 | 
            -
                support_instance = spy(:support)
         | 
| 15 | 
            -
                allow(TTY::Color::Support).to receive(:new).and_return(support_instance)
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                described_class.supports?
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                expect(support_instance).to have_received(:supports?)
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
            end
         | 
    
        data/spec/unit/mode_spec.rb
    DELETED
    
    | @@ -1,103 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            RSpec.describe TTY::Color::Mode, 'detecting mode' do
         | 
| 4 | 
            -
              it "isn't terminal" do
         | 
| 5 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(false)
         | 
| 6 | 
            -
                mode = described_class.new({})
         | 
| 7 | 
            -
                expect(mode.mode).to eq(0)
         | 
| 8 | 
            -
              end
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              it "cannot find from term, tput " do
         | 
| 11 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(true)
         | 
| 12 | 
            -
                mode = described_class.new({})
         | 
| 13 | 
            -
                allow(mode).to receive(:from_term).and_return(TTY::Color::NoValue)
         | 
| 14 | 
            -
                allow(mode).to receive(:from_tput).and_return(TTY::Color::NoValue)
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                expect(mode.mode).to eq(8)
         | 
| 17 | 
            -
                expect(mode).to have_received(:from_term).ordered
         | 
| 18 | 
            -
                expect(mode).to have_received(:from_tput).ordered
         | 
| 19 | 
            -
              end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
              it "detects color mode" do
         | 
| 22 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(true)
         | 
| 23 | 
            -
                mode = described_class.new('TERM' => 'xterm-256color')
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                expect(mode.mode).to eq(256)
         | 
| 26 | 
            -
              end
         | 
| 27 | 
            -
             | 
| 28 | 
            -
              context '#from_term' do
         | 
| 29 | 
            -
                it 'infers mode for xterm-256color' do
         | 
| 30 | 
            -
                  mode = described_class.new('TERM' => 'xterm-256color')
         | 
| 31 | 
            -
                  expect(mode.from_term).to eq(256)
         | 
| 32 | 
            -
                end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                it 'infers mode for iTerm.app' do
         | 
| 35 | 
            -
                  mode = described_class.new('TERM' => 'iTerm.app')
         | 
| 36 | 
            -
                  expect(mode.from_term).to eq(256)
         | 
| 37 | 
            -
                end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                it 'infers mode from terminal environment' do
         | 
| 40 | 
            -
                  mode = described_class.new('TERM' => 'amiga-8bit')
         | 
| 41 | 
            -
                  expect(mode.from_term).to eq(256)
         | 
| 42 | 
            -
                end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                it 'infers mode for wy730' do
         | 
| 45 | 
            -
                  mode = described_class.new('TERM' => 'wy370-105k')
         | 
| 46 | 
            -
                  expect(mode.from_term).to eq(64)
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                it 'infers mode for d430-unix-ccc' do
         | 
| 50 | 
            -
                  mode = described_class.new('TERM' => 'd430-unix-ccc')
         | 
| 51 | 
            -
                  expect(mode.from_term).to eq(52)
         | 
| 52 | 
            -
                end
         | 
| 53 | 
            -
             | 
| 54 | 
            -
                it 'infers mode for d430-unix-s-ccc' do
         | 
| 55 | 
            -
                  mode = described_class.new('TERM' => 'd430c-unix-s-ccc')
         | 
| 56 | 
            -
                  expect(mode.from_term).to eq(52)
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
             | 
| 59 | 
            -
                it 'infers mode for nsterm-bce' do
         | 
| 60 | 
            -
                  mode = described_class.new('TERM' => 'nsterm-bce')
         | 
| 61 | 
            -
                  expect(mode.from_term).to eq(16)
         | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
             | 
| 64 | 
            -
                it 'infers mode for d430-c' do
         | 
| 65 | 
            -
                  mode = described_class.new('TERM' => 'd430c-dg')
         | 
| 66 | 
            -
                  expect(mode.from_term).to eq(16)
         | 
| 67 | 
            -
                end
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                it 'infers mode for d430-unix-w' do
         | 
| 70 | 
            -
                  mode = described_class.new('TERM' => 'd430-unix-w')
         | 
| 71 | 
            -
                  expect(mode.from_term).to eq(16)
         | 
| 72 | 
            -
                end
         | 
| 73 | 
            -
             | 
| 74 | 
            -
                it 'infers mode for vt100' do
         | 
| 75 | 
            -
                  mode = described_class.new('TERM' => 'konsole-vt100')
         | 
| 76 | 
            -
                  expect(mode.from_term).to eq(8)
         | 
| 77 | 
            -
                end
         | 
| 78 | 
            -
             | 
| 79 | 
            -
                it 'infers mode for xnuppc' do
         | 
| 80 | 
            -
                  mode = described_class.new('TERM' => 'xnuppc+basic')
         | 
| 81 | 
            -
                  expect(mode.from_term).to eq(8)
         | 
| 82 | 
            -
                end
         | 
| 83 | 
            -
             | 
| 84 | 
            -
                it 'infers mode fro dummy terminal' do
         | 
| 85 | 
            -
                  mode = described_class.new('TERM' => 'dummy')
         | 
| 86 | 
            -
                  expect(mode.from_term).to eq(0)
         | 
| 87 | 
            -
                end
         | 
| 88 | 
            -
             | 
| 89 | 
            -
                it "doesn't match any term variable" do
         | 
| 90 | 
            -
                  mode = described_class.new({})
         | 
| 91 | 
            -
                  expect(mode.from_term).to eq(TTY::Color::NoValue)
         | 
| 92 | 
            -
                end
         | 
| 93 | 
            -
              end
         | 
| 94 | 
            -
             | 
| 95 | 
            -
              context '#from_tput' do
         | 
| 96 | 
            -
                it "fails to find tput utilty" do
         | 
| 97 | 
            -
                  mode = described_class.new({})
         | 
| 98 | 
            -
                  cmd = "tput colors"
         | 
| 99 | 
            -
                  allow(TTY::Color).to receive(:command?).with(cmd).and_return(nil)
         | 
| 100 | 
            -
                  expect(mode.from_tput).to eq(TTY::Color::NoValue)
         | 
| 101 | 
            -
                end
         | 
| 102 | 
            -
              end
         | 
| 103 | 
            -
            end
         | 
    
        data/spec/unit/supports_spec.rb
    DELETED
    
    | @@ -1,129 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            RSpec.describe TTY::Color::Support, '#supports?' do
         | 
| 4 | 
            -
              it "doesn't check color support for non tty terminal" do
         | 
| 5 | 
            -
                support = described_class.new({})
         | 
| 6 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(false)
         | 
| 7 | 
            -
                expect(support.supports?).to eq(false)
         | 
| 8 | 
            -
              end
         | 
| 9 | 
            -
             | 
| 10 | 
            -
              it "fails to find out color support" do
         | 
| 11 | 
            -
                support = described_class.new({})
         | 
| 12 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(true)
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                allow(support).to receive(:from_curses).and_return(TTY::Color::NoValue)
         | 
| 15 | 
            -
                allow(support).to receive(:from_tput).and_return(TTY::Color::NoValue)
         | 
| 16 | 
            -
                allow(support).to receive(:from_term).and_return(TTY::Color::NoValue)
         | 
| 17 | 
            -
                allow(support).to receive(:from_env).and_return(TTY::Color::NoValue)
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                expect(support.supports?).to eq(false)
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                expect(support).to have_received(:from_term).ordered
         | 
| 22 | 
            -
                expect(support).to have_received(:from_tput).ordered
         | 
| 23 | 
            -
                expect(support).to have_received(:from_env).ordered
         | 
| 24 | 
            -
                expect(support).to have_received(:from_curses).ordered
         | 
| 25 | 
            -
              end
         | 
| 26 | 
            -
             | 
| 27 | 
            -
              it "detects color support" do
         | 
| 28 | 
            -
                support = described_class.new('TERM' => 'xterm')
         | 
| 29 | 
            -
                allow(TTY::Color).to receive(:tty?).and_return(true)
         | 
| 30 | 
            -
                allow(support).to receive(:from_tput)
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                expect(support.supports?).to eq(true)
         | 
| 33 | 
            -
                expect(support).to_not have_received(:from_tput)
         | 
| 34 | 
            -
              end
         | 
| 35 | 
            -
             | 
| 36 | 
            -
              context '#from_curses' do
         | 
| 37 | 
            -
                it "fails to load curses for color support" do
         | 
| 38 | 
            -
                  support = described_class.new({})
         | 
| 39 | 
            -
                  allow(TTY::Color).to receive(:windows?).and_return(false)
         | 
| 40 | 
            -
                  allow(support).to receive(:require).with('curses').and_raise(LoadError)
         | 
| 41 | 
            -
                  allow(support).to receive(:warn)
         | 
| 42 | 
            -
             | 
| 43 | 
            -
                  expect(support.from_curses).to eq(TTY::Color::NoValue)
         | 
| 44 | 
            -
                  expect(support).to_not have_received(:warn)
         | 
| 45 | 
            -
                end
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                it "fails to find Curses namespace" do
         | 
| 48 | 
            -
                  support = described_class.new({})
         | 
| 49 | 
            -
                  allow(TTY::Color).to receive(:windows?).and_return(false)
         | 
| 50 | 
            -
                  allow(support).to receive(:require).with('curses')
         | 
| 51 | 
            -
             | 
| 52 | 
            -
                  expect(support.from_curses).to eq(TTY::Color::NoValue)
         | 
| 53 | 
            -
                end
         | 
| 54 | 
            -
             | 
| 55 | 
            -
                it "sets verbose mode on" do
         | 
| 56 | 
            -
                  support = described_class.new({}, verbose: true)
         | 
| 57 | 
            -
                  allow(TTY::Color).to receive(:windows?).and_return(false)
         | 
| 58 | 
            -
                  allow(support).to receive(:require).with('curses').and_raise(LoadError)
         | 
| 59 | 
            -
                  allow(support).to receive(:warn)
         | 
| 60 | 
            -
             | 
| 61 | 
            -
                  support.from_curses
         | 
| 62 | 
            -
             | 
| 63 | 
            -
                  expect(support).to have_received(:warn).with(/no native curses support/)
         | 
| 64 | 
            -
                end
         | 
| 65 | 
            -
             | 
| 66 | 
            -
                it "loads curses for color support" do
         | 
| 67 | 
            -
                  support = described_class.new({})
         | 
| 68 | 
            -
                  allow(TTY::Color).to receive(:windows?).and_return(false)
         | 
| 69 | 
            -
                  allow(support).to receive(:require).with('curses').and_return(true)
         | 
| 70 | 
            -
                  stub_const("Curses", Object.new)
         | 
| 71 | 
            -
                  curses = double(:curses)
         | 
| 72 | 
            -
                  allow(curses).to receive(:init_screen)
         | 
| 73 | 
            -
                  allow(curses).to receive(:has_colors?).and_return(true)
         | 
| 74 | 
            -
                  allow(curses).to receive(:close_screen)
         | 
| 75 | 
            -
             | 
| 76 | 
            -
                  expect(support.from_curses(curses)).to eql(true)
         | 
| 77 | 
            -
                  expect(curses).to have_received(:has_colors?)
         | 
| 78 | 
            -
                end
         | 
| 79 | 
            -
             | 
| 80 | 
            -
                it "doesn't check on windows" do
         | 
| 81 | 
            -
                  support = described_class.new({})
         | 
| 82 | 
            -
                  allow(TTY::Color).to receive(:windows?).and_return(true)
         | 
| 83 | 
            -
                  expect(support.from_curses).to eq(TTY::Color::NoValue)
         | 
| 84 | 
            -
                end
         | 
| 85 | 
            -
              end
         | 
| 86 | 
            -
             | 
| 87 | 
            -
              context '#form_term' do
         | 
| 88 | 
            -
                it "fails to find color for dumb terminal" do
         | 
| 89 | 
            -
                  support = described_class.new('TERM' => 'dumb')
         | 
| 90 | 
            -
                  expect(support.from_term).to eq(false)
         | 
| 91 | 
            -
                end
         | 
| 92 | 
            -
             | 
| 93 | 
            -
                it "inspects term variable for color capabilities" do
         | 
| 94 | 
            -
                  support = described_class.new('TERM' => 'xterm')
         | 
| 95 | 
            -
                  expect(support.from_term).to eq(true)
         | 
| 96 | 
            -
                end
         | 
| 97 | 
            -
             | 
| 98 | 
            -
                it "fails to find color capabilities from term variable " do
         | 
| 99 | 
            -
                  support = described_class.new('TERM' => 'atari')
         | 
| 100 | 
            -
                  expect(support.from_term).to eq(TTY::Color::NoValue)
         | 
| 101 | 
            -
                end
         | 
| 102 | 
            -
              end
         | 
| 103 | 
            -
             | 
| 104 | 
            -
              context '#from_tput' do
         | 
| 105 | 
            -
                it "fails to find tput utilty" do
         | 
| 106 | 
            -
                  support = described_class.new({})
         | 
| 107 | 
            -
                  cmd = "tput colors"
         | 
| 108 | 
            -
                  allow(TTY::Color).to receive(:command?).with(cmd).and_return(nil)
         | 
| 109 | 
            -
                  expect(support.from_tput).to eq(TTY::Color::NoValue)
         | 
| 110 | 
            -
                end
         | 
| 111 | 
            -
              end
         | 
| 112 | 
            -
             | 
| 113 | 
            -
              context '#from_env' do
         | 
| 114 | 
            -
                it "finds color support in colorterm variable" do
         | 
| 115 | 
            -
                  support = described_class.new('COLORTERM' => true)
         | 
| 116 | 
            -
                  expect(support.from_env).to eq(true)
         | 
| 117 | 
            -
                end
         | 
| 118 | 
            -
             | 
| 119 | 
            -
                it "finds ansicon support" do
         | 
| 120 | 
            -
                  support = described_class.new('ANSICON' => true)
         | 
| 121 | 
            -
                  expect(support.from_env).to eq(true)
         | 
| 122 | 
            -
                end
         | 
| 123 | 
            -
             | 
| 124 | 
            -
                it "doesn't find any keys in environment" do
         | 
| 125 | 
            -
                  support = described_class.new({})
         | 
| 126 | 
            -
                  expect(support.from_env).to eq(TTY::Color::NoValue)
         | 
| 127 | 
            -
                end
         | 
| 128 | 
            -
              end
         | 
| 129 | 
            -
            end
         | 
    
        data/tasks/console.rake
    DELETED
    
    
    
        data/tasks/coverage.rake
    DELETED
    
    
    
        data/tasks/spec.rake
    DELETED
    
    | @@ -1,29 +0,0 @@ | |
| 1 | 
            -
            # encoding: utf-8
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            begin
         | 
| 4 | 
            -
              require 'rspec/core/rake_task'
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              desc 'Run all specs'
         | 
| 7 | 
            -
              RSpec::Core::RakeTask.new(:spec) do |task|
         | 
| 8 | 
            -
                task.pattern = 'spec/{unit,integration}{,/*/**}/*_spec.rb'
         | 
| 9 | 
            -
              end
         | 
| 10 | 
            -
             | 
| 11 | 
            -
              namespace :spec do
         | 
| 12 | 
            -
                desc 'Run unit specs'
         | 
| 13 | 
            -
                RSpec::Core::RakeTask.new(:unit) do |task|
         | 
| 14 | 
            -
                  task.pattern = 'spec/unit{,/*/**}/*_spec.rb'
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                desc 'Run integration specs'
         | 
| 18 | 
            -
                RSpec::Core::RakeTask.new(:integration) do |task|
         | 
| 19 | 
            -
                  task.pattern = 'spec/integration{,/*/**}/*_spec.rb'
         | 
| 20 | 
            -
                end
         | 
| 21 | 
            -
              end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
            rescue LoadError
         | 
| 24 | 
            -
              %w[spec spec:unit spec:integration].each do |name|
         | 
| 25 | 
            -
                task name do
         | 
| 26 | 
            -
                  $stderr.puts "In order to run #{name}, do `gem install rspec`"
         | 
| 27 | 
            -
                end
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
            end
         | 
    
        data/tty-color.gemspec
    DELETED
    
    | @@ -1,23 +0,0 @@ | |
| 1 | 
            -
            # coding: utf-8
         | 
| 2 | 
            -
            lib = File.expand_path('../lib', __FILE__)
         | 
| 3 | 
            -
            $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
         | 
| 4 | 
            -
            require 'tty/color/version'
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            Gem::Specification.new do |spec|
         | 
| 7 | 
            -
              spec.name          = 'tty-color'
         | 
| 8 | 
            -
              spec.version       = TTY::Color::VERSION
         | 
| 9 | 
            -
              spec.authors       = ['Piotr Murach']
         | 
| 10 | 
            -
              spec.email         = [""]
         | 
| 11 | 
            -
              spec.summary       = %q{Terminal color capabilities detection}
         | 
| 12 | 
            -
              spec.description   = %q{Terminal color capabilities detection}
         | 
| 13 | 
            -
              spec.homepage      = "http://piotrmurach.github.io/tty"
         | 
| 14 | 
            -
              spec.license       = "MIT"
         | 
| 15 | 
            -
             | 
| 16 | 
            -
              spec.files         = `git ls-files -z`.split("\x0")
         | 
| 17 | 
            -
              spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
         | 
| 18 | 
            -
              spec.test_files    = spec.files.grep(%r{^spec})
         | 
| 19 | 
            -
              spec.require_paths = ["lib"]
         | 
| 20 | 
            -
             | 
| 21 | 
            -
              spec.add_development_dependency 'bundler', '>= 1.5.0', '< 2.0'
         | 
| 22 | 
            -
              spec.add_development_dependency 'rake',    '~> 10.0'
         | 
| 23 | 
            -
            end
         |