Class: Gloo::Verbs::Invoke
- Inherits:
-
Core::Verb
- Object
- Core::Baseo
- Core::Verb
- Gloo::Verbs::Invoke
- Defined in:
- lib/gloo/verbs/invoke.rb
Constant Summary collapse
- KEYWORD =
'invoke'.freeze
- KEYWORD_SHORT =
'~>'.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
-
.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
.keyword ⇒ Object
Get the Verb’s keyword.
41 42 43 |
# File 'lib/gloo/verbs/invoke.rb', line 41 def self.keyword return KEYWORD end |
.keyword_shortcut ⇒ Object
Get the Verb’s keyword shortcut.
48 49 50 |
# File 'lib/gloo/verbs/invoke.rb', line 48 def self.keyword_shortcut return KEYWORD_SHORT end |
Instance Method Details
#run ⇒ Object
Run the verb.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/gloo/verbs/invoke.rb', line 17 def run if @tokens.token_count > 1 ob = @tokens.first # Get the function object pn = Gloo::Core::Pn.new( @engine, @tokens.second ) func = pn.resolve # Is the object a function? if func&.is_function? params = get_params_arr @engine.log.debug "invoking function: #{func.pn}" result = func.invoke( params ) @engine.log.debug "function returned: #{result}" @engine.heap.it.set_to result return result end end end |