Module: Toys::StandardMixins::Highline

Includes:
Mixin
Defined in:
lib/toys/standard_mixins/highline.rb

Overview

A mixin that provides access to the capabilities of the highline gem.

This mixin requires the highline gem, version 2.0 or later. It will attempt to install the gem if it is not available.

You may make these methods available to your tool by including the following directive in your tool configuration:

include :highline

A HighLine object will then be available by calling the #highline method. For information on using this object, see the Highline documentation. Some of the most common HighLine methods, such as say, are also mixed into the tool and can be called directly.

You can configure the HighLine object by passing options to the include directive. For example:

include :highline, my_stdin, my_stdout

The arguments will be passed on to the HighLine constructor.

Constant Summary collapse

KEY =

Context key for the highline object.

Returns:

  • (Object)
::Object.new.freeze

Instance Method Summary collapse

Methods included from Mixin

create

Instance Method Details

#agree(*args, &block) ⇒ Object



51
52
53
# File 'lib/toys/standard_mixins/highline.rb', line 51

def agree(*args, &block)
  highline.agree(*args, &block)
end

#ask(*args, &block) ⇒ Object

Calls HighLine#ask



58
59
60
# File 'lib/toys/standard_mixins/highline.rb', line 58

def ask(*args, &block)
  highline.ask(*args, &block)
end

#choose(*args, &block) ⇒ Object



65
66
67
# File 'lib/toys/standard_mixins/highline.rb', line 65

def choose(*args, &block)
  highline.choose(*args, &block)
end

#color(*args) ⇒ Object



107
108
109
# File 'lib/toys/standard_mixins/highline.rb', line 107

def color(*args)
  highline.color(*args)
end

#color_code(*args) ⇒ Object



114
115
116
# File 'lib/toys/standard_mixins/highline.rb', line 114

def color_code(*args)
  highline.color_code(*args)
end

#highline::HighLine

A tool-wide HighLine instance

Returns:

  • (::HighLine)


44
45
46
# File 'lib/toys/standard_mixins/highline.rb', line 44

def highline
  self[KEY]
end

#indent(*args, &block) ⇒ Object



86
87
88
# File 'lib/toys/standard_mixins/highline.rb', line 86

def indent(*args, &block)
  highline.indent(*args, &block)
end

#list(*args, &block) ⇒ Object



72
73
74
# File 'lib/toys/standard_mixins/highline.rb', line 72

def list(*args, &block)
  highline.list(*args, &block)
end

#new_scopeObject



128
129
130
# File 'lib/toys/standard_mixins/highline.rb', line 128

def new_scope
  highline.new_scope
end

#newlineObject



93
94
95
# File 'lib/toys/standard_mixins/highline.rb', line 93

def newline
  highline.newline
end

#puts(*args) ⇒ Object



100
101
102
# File 'lib/toys/standard_mixins/highline.rb', line 100

def puts(*args)
  highline.puts(*args)
end

#say(*args, &block) ⇒ Object

Calls HighLine#say



79
80
81
# File 'lib/toys/standard_mixins/highline.rb', line 79

def say(*args, &block)
  highline.say(*args, &block)
end

#uncolor(*args) ⇒ Object



121
122
123
# File 'lib/toys/standard_mixins/highline.rb', line 121

def uncolor(*args)
  highline.uncolor(*args)
end