Class: Gloo::Verbs::Context

Inherits:
Core::Verb show all
Defined in:
lib/gloo/verbs/context.rb

Constant Summary collapse

KEYWORD =
'context'.freeze
KEYWORD_SHORT =
'@'.freeze

Constants inherited from Core::Baseo

Core::Baseo::NOT_IMPLEMENTED_ERR

Instance Attribute Summary

Attributes inherited from Core::Verb

#params, #tokens

Attributes inherited from Core::Baseo

#name

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Core::Verb

#display_value, help, inherited, #initialize, #type_display

Methods inherited from Core::Baseo

#initialize, #type_display

Constructor Details

This class inherits a constructor from Gloo::Core::Verb

Class Method Details

.doc_dataObject

Get the verb's documentation data.



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
# File 'lib/gloo/verbs/context.rb', line 67

def self.doc_data
  {
    :name => KEYWORD,
    :shortcut => KEYWORD_SHORT,
    :description => 'Get or set the current context. When no ' \
      'parameter is provided, the context will be shown. When the ' \
      "optional path parameter is provided, the context will be set " \
      "to that path. Use 'context root' to set the context back to " \
      'the root level. When context has been set, the pathname can ' \
      'start from the context container by use of the @. prefix.',
    :syntax => [ 'context {path.to.new.context}' ],
    :parameters => [
      '{path.to.new.context} — Optional. The path to the new context when setting the context.'
    ],
    :result => 'Context is optionally set. It will be set to the ' \
      'new context path when we are changing context. Context is ' \
      'shown in either case.',
    :notes => 'Providing a context that does not exist will not ' \
      'initially be a problem — you can set the context to an ' \
      "object before it exists. However, use of a context that " \
      "doesn't exist will be a problem.\n\n" \
      "CLI Example:\n" \
      "> context\n" \
      "  Context: root\n\n" \
      "> context my.object.path\n" \
      "  Context: my.object.path\n\n" \
      "> context root\n" \
      "  Context: root",
    :examples => <<~EXAMPLES.strip
      context [container] :
        sub [container] :
          msg [string] : Hello Gloo World!
          on_load [script] :
              @ context.sub
              show @.msg
              @ root
    EXAMPLES
  }
end

.keywordObject

Get the Verb's keyword.



33
34
35
# File 'lib/gloo/verbs/context.rb', line 33

def self.keyword
  return KEYWORD
end

.keyword_shortcutObject

Get the Verb's keyword shortcut.



40
41
42
# File 'lib/gloo/verbs/context.rb', line 40

def self.keyword_shortcut
  return KEYWORD_SHORT
end

Instance Method Details

#runObject

Run the verb.



18
19
20
21
# File 'lib/gloo/verbs/context.rb', line 18

def run
  set_context if @tokens.token_count > 1
  show_context
end

#show_contextObject

Show the current context.



26
27
28
# File 'lib/gloo/verbs/context.rb', line 26

def show_context
  @engine.log.show "Context:  #{@engine.heap.context}"
end