# class Bundler::Thor::Shell::HTML

Inherit from `Bundler::Thor::Shell::Basic` and add `set_color` behavior. Check `Bundler::Thor::Shell::Basic` to see all available methods.

### Constants

BLACK

  `Set` the terminal's foreground `HTML` color to black.

BLUE

  `Set` the terminal's foreground `HTML` color to blue.

BOLD

  The start of an `HTML` bold sequence.

CYAN

  `Set` the terminal's foreground `HTML` color to cyan.

GREEN

  `Set` the terminal's foreground `HTML` color to green.

MAGENTA

  `Set` the terminal's foreground `HTML` color to magenta.

ON_BLACK

  `Set` the terminal's background `HTML` color to black.

ON_BLUE

  `Set` the terminal's background `HTML` color to blue.

ON_CYAN

  `Set` the terminal's background `HTML` color to cyan.

ON_GREEN

  `Set` the terminal's background `HTML` color to green.

ON_MAGENTA

  `Set` the terminal's background `HTML` color to magenta.

ON_RED

  `Set` the terminal's background `HTML` color to red.

ON_WHITE

  `Set` the terminal's background `HTML` color to white.

ON_YELLOW

  `Set` the terminal's background `HTML` color to yellow.

RED

  `Set` the terminal's foreground `HTML` color to red.

WHITE

  `Set` the terminal's foreground `HTML` color to white.

YELLOW

  `Set` the terminal's foreground `HTML` color to yellow.

### Public Instance Methods

ask(statement, color = nil) click to toggle source

Ask something to the user and receives a response.

#### Example¶ ↑

ask(“What is your name?”)

TODO: Implement `ask` for `Bundler::Thor::Shell::HTML`

    # File lib/bundler/vendor/thor/lib/thor/shell/html.rb, line 70
    def ask(statement, color = nil)
      raise NotImplementedError, "Implement #ask for Bundler::Thor::Shell::HTML"
    end

set_color(string, *colors) click to toggle source

`Set` color by using a string or one of the defined constants. If a third option is set to true, it also adds bold to the string. This is based on Highline implementation and it automatically appends CLEAR to the end of the returned `String`.

    # File lib/bundler/vendor/thor/lib/thor/shell/html.rb, line 51
    def set_color(string, *colors)
      if colors.all? { |color| color.is_a?(Symbol) || color.is_a?(String) }
        html_colors = colors.map { |color| lookup_color(color) }
        "<span style=\"#{html_colors.join('; ')};\">#{string}</span>"
      else
        color, bold = colors
        html_color = self.class.const_get(color.to_s.upcase) if color.is_a?(Symbol)
        styles = [html_color]
        styles << BOLD if bold
        "<span style=\"#{styles.join('; ')};\">#{string}</span>"
      end
    end

### Protected Instance Methods

can_display_colors?() click to toggle source

    # File lib/bundler/vendor/thor/lib/thor/shell/html.rb, line 76
    def can_display_colors?
      true
    end