Class: Gloo::Objs::Prompt
- Inherits:
-
GlooLang::Core::Obj
- Object
- GlooLang::Core::Obj
- Gloo::Objs::Prompt
- Defined in:
- lib/gloo/objs/cli/prompt.rb
Constant Summary collapse
- KEYWORD =
'prompt'.freeze
- KEYWORD_SHORT =
'ask'.freeze
- PROMPT =
'prompt'.freeze
- RESULT =
'result'.freeze
Class Method Summary collapse
-
.messages ⇒ Object
Get a list of message names that this object receives.
-
.short_typename ⇒ Object
The short name of the object type.
-
.typename ⇒ Object
The name of the object type.
Instance Method Summary collapse
-
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
-
#add_default_children ⇒ Object
Add children to this object.
-
#msg_multiline ⇒ Object
Show a multiline prompt and get the user’s input.
-
#msg_run ⇒ Object
Show the prompt and get the user’s input.
-
#prompt_value ⇒ Object
Get the prompt from the child object.
-
#set_result(data) ⇒ Object
Set the result of the system call.
Class Method Details
.messages ⇒ Object
Get a list of message names that this object receives.
82 83 84 |
# File 'lib/gloo/objs/cli/prompt.rb', line 82 def self. return super + %w[run multiline] end |
.short_typename ⇒ Object
The short name of the object type.
26 27 28 |
# File 'lib/gloo/objs/cli/prompt.rb', line 26 def self.short_typename return KEYWORD_SHORT end |
.typename ⇒ Object
The name of the object type.
19 20 21 |
# File 'lib/gloo/objs/cli/prompt.rb', line 19 def self.typename return KEYWORD end |
Instance Method Details
#add_children_on_create? ⇒ Boolean
Does this object have children to add when an object is created in interactive mode? This does not apply during obj load, etc.
60 61 62 |
# File 'lib/gloo/objs/cli/prompt.rb', line 60 def add_children_on_create? return true end |
#add_default_children ⇒ Object
Add children to this object. This is used by containers to add children needed for default configurations.
69 70 71 72 73 |
# File 'lib/gloo/objs/cli/prompt.rb', line 69 def add_default_children fac = @engine.factory fac.create_string PROMPT, '>', self fac.create_string RESULT, nil, self end |
#msg_multiline ⇒ Object
Show a multiline prompt and get the user’s input.
89 90 91 92 93 94 95 |
# File 'lib/gloo/objs/cli/prompt.rb', line 89 def msg_multiline prompt = prompt_value return unless prompt result = @engine.platform.prompt.multiline( prompt ) set_result result.join end |
#msg_run ⇒ Object
Show the prompt and get the user’s input.
100 101 102 103 104 105 106 |
# File 'lib/gloo/objs/cli/prompt.rb', line 100 def msg_run prompt = prompt_value return unless prompt result = @engine.platform.prompt.ask( prompt ) set_result result end |
#prompt_value ⇒ Object
Get the prompt from the child object. Returns nil if there is none.
34 35 36 37 38 39 |
# File 'lib/gloo/objs/cli/prompt.rb', line 34 def prompt_value o = find_child PROMPT return nil unless o return o.value end |
#set_result(data) ⇒ Object
Set the result of the system call.
44 45 46 47 48 49 |
# File 'lib/gloo/objs/cli/prompt.rb', line 44 def set_result( data ) r = find_child RESULT return nil unless r r.set_value data end |