Class: PuppetDebugger::InputResponderPlugin

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Singleton
Defined in:
lib/puppet-debugger/input_responder_plugin.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#debuggerObject

Returns the value of attribute debugger.



9
10
11
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 9

def debugger
  @debugger
end

Class Method Details

.command_completion(buffer_words) ⇒ Object

By default this returns an empty array, your plugin can chose to override this method in order to provide the user with a list of key words based on the user’s input

Parameters:

  • buffer_words (Array[String])

    a array of words the user has typed in



39
40
41
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 39

def self.command_completion(buffer_words)
  []
end

.command_groupString

Returns the name of the command group the plugin is in.

Returns:

  • (String)

    the name of the command group the plugin is in



26
27
28
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 26

def self.command_group
  self::COMMAND_GROUP
end

.command_wordsArray[String]

Returns an array of words the user can call the command with.

Returns:

  • (Array[String])

    an array of words the user can call the command with



16
17
18
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 16

def self.command_words
  self::COMMAND_WORDS
end

.detailsHash

Returns a has of all the details of the plugin.

Returns:

  • (Hash)

    a has of all the details of the plugin



31
32
33
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 31

def self.details
  { words: command_words, summary: summary, group: command_group }
end

.execute(args = [], debugger) ⇒ Object

Returns the output of the plugin command.

Parameters:

  • args (Array[String]) (defaults to: [])
    • an array of arguments to pass to the plugin command

  • debugger

    PuppetDebugger::Cli - an instance of the PuppetDebugger::Cli object

Returns:

  • the output of the plugin command



46
47
48
49
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 46

def self.execute(args = [], debugger)
  instance.debugger = debugger
  instance.run(args)
end

.summaryString

Returns a summary of the plugin.

Returns:

  • (String)

    a summary of the plugin



21
22
23
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 21

def self.summary
  self::SUMMARY
end

Instance Method Details

#puppet_debugger_lib_dirObject

this is the lib directory of this gem in order to load any puppet functions from this gem we need to add the lib path of this gem



60
61
62
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 60

def puppet_debugger_lib_dir
  File.expand_path(File.join(File.dirname(File.dirname(File.dirname(__FILE__))), 'lib'))
end

#run(args = []) ⇒ Object

Returns the output of the plugin command.

Parameters:

  • args (Array[String]) (defaults to: [])
    • an array of arguments to pass to the plugin command

Returns:

  • the output of the plugin command

Raises:

  • (NotImplementedError)


53
54
55
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 53

def run(args = [])
  raise NotImplementedError
end