Class: Gloo::Verbs::Log

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

Constant Summary collapse

KEYWORD =
'log'.freeze
KEYWORD_SHORT =
'log'.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.



95
96
97
98
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
126
127
128
129
130
# File 'lib/gloo/verbs/log.rb', line 95

def self.doc_data
  {
    :name => KEYWORD,
    :shortcut => KEYWORD_SHORT,
    :description => 'Write to the standard gloo log, or to the gloo error log.',
    :syntax => [ 'log {target} ({level})' ],
    :parameters => [
      '{target} — The message that will be written to the log. ' \
        'The target might be the path to an object, a literal or ' \
        'an expression to be evaluated. Level options are: DEBUG, ' \
        'INFO, WARN, ERROR. Level is an optional parameter — if ' \
        'not specified, the message is written as DEBUG level.'
    ],
    :result => 'The message is written to the log at the ' \
      'specified level. It will contain the log message.',
    :notes => "Use `log clear` from the CLI to clear out both the " \
      "standard log and the error log.\n\n" \
      "> log clear",
    :examples => <<~EXAMPLES.strip
      #
      # Show multiple messages in loggers
      #

      log [can] :
        level [string] : info
        msg [string] : info from var
        on_load [script] :
          log "debug implicit"
          log "debug explicit" (debug)
          log "info" (info)
          log "warn" (warn)
          log "error" (error)
          log log.msg (log.level)
    EXAMPLES
  }
end

.keywordObject

Get the Verb's keyword.



32
33
34
# File 'lib/gloo/verbs/log.rb', line 32

def self.keyword
  return KEYWORD
end

.keyword_shortcutObject

Get the Verb's keyword shortcut.



39
40
41
# File 'lib/gloo/verbs/log.rb', line 39

def self.keyword_shortcut
  return KEYWORD_SHORT
end

Instance Method Details

#runObject

Run the verb.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/gloo/verbs/log.rb', line 17

def run
  if @tokens.token_count > 1
    if is_clear_cmd?
      @engine.log.clear
    else
      write_to_log
    end
  else
    @engine.log.debug ''
  end
end