Class: Gloo::Verbs::Put
- Inherits:
-
Core::Verb
- Object
- Core::Baseo
- Core::Verb
- Gloo::Verbs::Put
- Defined in:
- lib/gloo/verbs/put.rb
Constant Summary collapse
- KEYWORD =
'put'.freeze
- KEYWORD_SHORT =
'p'.freeze
- INTO =
'into'.freeze
- MISSING_EXPR_ERR =
'Missing Expression!'.freeze
- INTO_MISSING_ERR =
'Target (into) missing!'.freeze
- TARGET_ERR =
'Target could not be resolved: '.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.
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
# File 'lib/gloo/verbs/put.rb', line 99 def self.doc_data { :name => KEYWORD, :shortcut => KEYWORD_SHORT, :description => 'Put a value into an object. ' \ 'The value is the result of an expression.', :syntax => [ 'put {expression} into {dst.path}' ], :parameters => [ '{expression} — The expression that is evaluated.', '{dst.path} — The path to the destination object.' ], :result => 'The destination object has the result of the ' \ 'evaluated expression. It will also be set into it.', :errors => [ "#{MISSING_EXPR_ERR} — The into keyword is missing, or no source expression is provided.", "#{INTO_MISSING_ERR} — The destination is not specified.", "#{TARGET_ERR}{dst.path} — The destination of the put cannot be resolved." ], :examples => <<~EXAMPLES.strip > put 'one' into str > put "two" into str > put 123 into x > put 3 + 5 into x > put TRUE into flag EXAMPLES } end |
.keyword ⇒ Object
Get the Verb's keyword.
34 35 36 |
# File 'lib/gloo/verbs/put.rb', line 34 def self.keyword return KEYWORD end |
.keyword_shortcut ⇒ Object
Get the Verb's keyword shortcut.
41 42 43 |
# File 'lib/gloo/verbs/put.rb', line 41 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 |
# File 'lib/gloo/verbs/put.rb', line 21 def run value = fetch_value_tokens return if value.nil? target = lookup_target return if target.nil? update_target target, value end |