Class: Gloo::Verbs::Tell
- Inherits:
-
Core::Verb
- Object
- Core::Baseo
- Core::Verb
- Gloo::Verbs::Tell
- Defined in:
- lib/gloo/verbs/tell.rb
Constant Summary collapse
- KEYWORD =
'tell'.freeze
- KEYWORD_SHORT =
'->'.freeze
- TO =
'to'.freeze
- UNKNOWN_MSG_ERR =
'Missing message!'.freeze
Constants inherited from Core::Baseo
Core::Baseo::NOT_IMPLEMENTED_ERR
Instance Attribute Summary
Attributes inherited from Core::Verb
Attributes inherited from Core::Baseo
Class Method Summary collapse
-
.doc_data ⇒ Object
Get the verb's documentation data.
-
.keyword ⇒ Object
Get the Verb's keyword.
-
.keyword_shortcut ⇒ Object
Get the Verb's keyword shortcut.
Instance Method Summary collapse
-
#run ⇒ Object
Run the verb.
Methods inherited from Core::Verb
#display_value, help, inherited, #initialize, #type_display
Methods inherited from Core::Baseo
Constructor Details
This class inherits a constructor from Gloo::Core::Verb
Class Method Details
.doc_data ⇒ Object
Get the verb's documentation data.
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/gloo/verbs/tell.rb', line 60 def self.doc_data { :name => KEYWORD, :shortcut => KEYWORD_SHORT, :description => 'Send a message to an object. Ask the object ' \ 'to perform an action.', :syntax => [ 'tell {path.to.object} to {message}' ], :parameters => [ '{path.to.object} — The object that we want to send a message to.', '{message} — The message to send.' ], :result => 'The result depends on the message that is sent.', :errors => [ "#{UNKNOWN_MSG_ERR} — No message was specified, or the `to` keyword is missing.", 'Object was not found — The target of the message was not found.' ], :examples => <<~EXAMPLES.strip > tell an.obj to unload > tell the.script to run > tell my.str to up > tell the.container to count EXAMPLES } end |
.keyword ⇒ Object
Get the Verb's keyword.
36 37 38 |
# File 'lib/gloo/verbs/tell.rb', line 36 def self.keyword return KEYWORD end |
.keyword_shortcut ⇒ Object
Get the Verb's keyword shortcut.
43 44 45 |
# File 'lib/gloo/verbs/tell.rb', line 43 def self.keyword_shortcut return KEYWORD_SHORT end |
Instance Method Details
#run ⇒ Object
Run the verb.
21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/gloo/verbs/tell.rb', line 21 def run msg = @tokens.after_token( TO ) unless msg @engine.err( UNKNOWN_MSG_ERR ) return end Gloo::Exec::Dispatch.( @engine, msg, @tokens.second, @params ) end |