Class: Gloo::Verbs::Throw
- Inherits:
-
Core::Verb
- Object
- Core::Baseo
- Core::Verb
- Gloo::Verbs::Throw
- Defined in:
- lib/gloo/verbs/throw.rb
Constant Summary collapse
- KEYWORD =
'throw'.freeze
- KEYWORD_SHORT =
'throw'.freeze
- DEFAULT_MSG =
'Thrown by throw verb'.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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
# File 'lib/gloo/verbs/throw.rb', line 60 def self.doc_data { :name => KEYWORD, :shortcut => KEYWORD_SHORT, :description => 'Deliberately raise a Ruby exception, to ' \ 'exercise the on_exception handling pipeline (e.g. for ' \ 'testing). Execution continues normally after the throw — ' \ 'it is not a fatal halt.', :syntax => [ 'throw {optional message}' ], :parameters => [ "{message} — Optional. An expression evaluated and used as the thrown message. If not provided, a default message (\"#{DEFAULT_MSG}\") is used." ], :result => "Fires the app's on_exception handler, if one is " \ 'defined, with exception_data.message set to the thrown ' \ 'message. Does not fire on_error.', :examples => <<~EXAMPLES.strip, :notes => <<~NOTES.strip on_error and on_exception are independent channels: a checked gloo error (bad path, missing object) fires on_error only; a Ruby exception (from throw, or a real bug caught by gloo's safety net) fires on_exception only. Neither triggers the other, and in both cases the failing line is abandoned and execution continues with the next line. gloo logs every caught exception, so a throw during a script run also prints the message and a truncated backtrace to the console — that is the logging working, not a crash. See gloo_sample_code/lang/exceptions.gloo for a runnable walk-through. NOTES } end |
.keyword ⇒ Object
Get the Verb's keyword.
26 27 28 |
# File 'lib/gloo/verbs/throw.rb', line 26 def self.keyword return KEYWORD end |
.keyword_shortcut ⇒ Object
Get the Verb's keyword shortcut.
33 34 35 |
# File 'lib/gloo/verbs/throw.rb', line 33 def self.keyword_shortcut return KEYWORD_SHORT end |
Instance Method Details
#run ⇒ Object
Run the verb.
19 20 21 |
# File 'lib/gloo/verbs/throw.rb', line 19 def run raise end |