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



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

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

#ask(*args, &block) ⇒ Object

Calls HighLine#ask



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

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

#choose(*args, &block) ⇒ Object



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

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

#color(*args) ⇒ Object



136
137
138
# File 'lib/toys/standard_mixins/highline.rb', line 136

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

#color_code(*args) ⇒ Object



143
144
145
# File 'lib/toys/standard_mixins/highline.rb', line 143

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

#highline::HighLine

A tool-wide HighLine instance

Returns:

  • (::HighLine)


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

def highline
  self[KEY]
end

#indent(*args, &block) ⇒ Object



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

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

#list(*args, &block) ⇒ Object



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

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

#new_scopeObject



157
158
159
# File 'lib/toys/standard_mixins/highline.rb', line 157

def new_scope
  highline.new_scope
end

#newlineObject



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

def newline
  highline.newline
end

#puts(*args) ⇒ Object



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

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

#say(*args, &block) ⇒ Object

Calls HighLine#say



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

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

#uncolor(*args) ⇒ Object



150
151
152
# File 'lib/toys/standard_mixins/highline.rb', line 150

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