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



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

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

#ask(*args, &block) ⇒ Object

Calls HighLine#ask



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

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

#choose(*args, &block) ⇒ Object



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

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

#color(*args) ⇒ Object



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

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

#color_code(*args) ⇒ Object



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

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

#highline::HighLine

A tool-wide HighLine instance

Returns:

  • (::HighLine)


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

def highline
  self[KEY]
end

#indent(*args, &block) ⇒ Object



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

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

#list(*args, &block) ⇒ Object



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

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

#new_scopeObject



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

def new_scope
  highline.new_scope
end

#newlineObject



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

def newline
  highline.newline
end

#puts(*args) ⇒ Object



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

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

#say(*args, &block) ⇒ Object

Calls HighLine#say



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

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

#uncolor(*args) ⇒ Object



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

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