123456789_123456789_123456789_123456789_123456789_

Class: Bundler::Thor::Shell::HTML

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Basic
Instance Chain:
self, Basic
Inherits: Bundler::Thor::Shell::Basic
Defined in: lib/bundler/vendor/thor/lib/thor/shell/html.rb

Overview

Inherit from Basic and add set_color behavior. Check Basic to see all available methods.

Constant Summary

Class Method Summary

Basic - Inherited

.new

Initialize base, mute and padding to nil.

Instance Attribute Summary

Basic - Inherited

#base,
#mute

Mute everything that’s inside given block.

#mute?

Check if base is muted.

#padding,
#padding=

Sets the output padding, not allowing less than zero values.

#can_display_colors?, #unix?, #quiet?

Instance Method Summary

Basic - Inherited

#ask

Asks something to the user and receives a response.

#error

Called if something goes wrong during the execution.

#file_collision

Deals with file collision and returns true if the file should be overwritten and false otherwise.

#indent

Sets the output padding while executing a block and resets it.

#no?

Make a question the to user and returns true if the user replies “n” or “no”.

#print_in_columns

Prints values in columns.

#print_table

Prints a table.

#print_wrapped

Prints a long string, word-wrapping the text to the current width of the terminal display.

#say

Say (print) something to the user.

#say_error

Say (print) an error to the user.

#say_status

Say a status with the given color and appends the message.

#yes?

Make a question the to user and returns true if the user replies “y” or “yes”.

#answer_match, #ask_filtered, #ask_simply, #lookup_color, #prepare_message, #stderr, #stdout,
#set_color

Apply color to the given string with optional bold.

#file_collision_help, #git_merge_tool, #is?, #merge, #merge_tool, #show_diff

Constructor Details

This class inherits a constructor from Bundler::Thor::Shell::Basic

Instance Attribute Details

#can_display_colors?Boolean (readonly, protected)

[ GitHub ]

  
# File 'lib/bundler/vendor/thor/lib/thor/shell/html.rb', line 76

def can_display_colors?
  true
end

Instance Method Details

#ask(statement, color = nil)

Ask something to the user and receives a response.

Example

ask(“What is your name?”)

TODO: Implement #ask for HTML

Raises:

  • (NotImplementedError)
[ GitHub ]

  
# 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)

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.

[ GitHub ]

  
# 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('; ')};\">#{Bundler::Thor::Util.escape_html(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('; ')};\">#{Bundler::Thor::Util.escape_html(string)}</span>"
  end
end