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



43
44
45
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 43

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



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

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



35
36
37
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 35

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



50
51
52
53
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 50

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



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

def self.summary
  self::SUMMARY
end

Instance Method Details

#modules_pathsObject



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

def modules_paths
  debugger.puppet_environment.full_modulepath
end

#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



64
65
66
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 64

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)


57
58
59
# File 'lib/puppet-debugger/input_responder_plugin.rb', line 57

def run(args = [])
  raise NotImplementedError
end