Sha256: 9e2794ad1e07ba97e0446d7fb9f134fd020d636147d70c69f2e5b63edd389c62

Contents?: true

Size: 991 Bytes

Versions: 2

Compression:

Stored size: 991 Bytes

Contents

require 'puppet-debugger/input_responder_plugin'
module PuppetDebugger
  module InputResponders
    class Resources < InputResponderPlugin
      COMMAND_WORDS = %w(resources)
      SUMMARY = 'List all the resources current in the catalog.'
      COMMAND_GROUP = :scope

      def run(args = [])
        filter = args
        resources = find_resources(debugger.catalog.resources, filter)
        modified = resources.map do |res|
          res.to_s.gsub(/\[/, "['").gsub(/\]/, "']") # ensure the title has quotes
        end
        output = "Resources not shown in any specific order\n".warning
        output += modified.ai
      end

      def find_resources(resources, filter = [])
        return resources if filter.nil? || filter.empty?
        filter_string = filter.join(' ').downcase
        resources.find_all do |resource|
          resource.name.to_s.downcase.include?(filter_string) || resource.type.to_s.downcase.include?(filter_string)
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
puppet-debugger-0.19.0 lib/plugins/puppet-debugger/input_responders/resources.rb
puppet-debugger-0.18.0 lib/plugins/puppet-debugger/input_responders/resources.rb