Class: Sensu::Plugin::CLI

Inherits:
Object
  • Object
show all
Includes:
Mixlib::CLI
Defined in:
lib/sensu-plugin/cli.rb

Direct Known Subclasses

Sensu::Plugin::Check::CLI, Metric::CLI

Constant Summary collapse

@@autorun =

Behind-the-scenes stuff below. If you do something crazy like define two plugins in one script, the last one will ‘win’ in terms of what gets auto-run.

self

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv = ARGV) ⇒ CLI

Returns a new instance of CLI.



12
13
14
15
# File 'lib/sensu-plugin/cli.rb', line 12

def initialize(argv = ARGV)
  super()
  self.argv = parse_options(argv)
end

Instance Attribute Details

#argvObject

Returns the value of attribute argv.



10
11
12
# File 'lib/sensu-plugin/cli.rb', line 10

def argv
  @argv
end

Class Method Details

.method_added(name) ⇒ Object



47
48
49
# File 'lib/sensu-plugin/cli.rb', line 47

def method_added(name)
  @@autorun = self if name == :run
end

Instance Method Details

#output(*args) ⇒ Object

Implementing classes should override this to produce appropriate output for their handler.



20
21
22
# File 'lib/sensu-plugin/cli.rb', line 20

def output(*args)
  puts "Sensu::Plugin::CLI: #{args}"
end

#runObject

Implementing classes must override this.



37
38
39
# File 'lib/sensu-plugin/cli.rb', line 37

def run
  unknown 'Not implemented! You should override Sensu::Plugin::CLI#run.'
end