# module Hoe::Debug

Debug plugin for hoe.

### Tasks Provided:¶ ↑

#check_manifest

  Verify the manifest.

config_hoe

  Create a fresh ~/.hoerc file.

debug_gem

  Show information about the gem.

### Public Instance Methods

check_manifest() click to toggle source

Verifies your Manifest.txt against the files in your project.

    # File lib/hoe/debug.rb, line 72
    def check_manifest
      f = "Manifest.tmp"
      require "find"
      files = []
      with_config do |config, _|
        exclusions = config["exclude"]

        Find.find "." do |path|
          next unless File.file? path
          next if path =~ exclusions
          files << path[2..-1]
        end

        files = files.sort.join "\n"

        File.open f, "w" do |fp| fp.puts files end

        verbose = { :verbose => Rake.application.options.verbose }

        begin
          sh "#{DIFF} -du Manifest.txt #{f}", verbose
        ensure
          rm f, verbose
        end
      end
    end

define_debug_tasks() click to toggle source

Define tasks for plugin.

    # File lib/hoe/debug.rb, line 33
    def define_debug_tasks
      desc "Create a fresh ~/.hoerc file."
      task :config_hoe do
        with_config do |config, path|
          File.open(path, "w") do |f|
            YAML.dump(Hoe::DEFAULT_CONFIG.merge(config), f)
          end

          editor = ENV["EDITOR"] || "vi"
          system "#{editor} #{path}" if ENV["SHOW_EDITOR"] != "no"
        end
      end

      desc "Verify the manifest."
      task :check_manifest => :clean do
        check_manifest
      end

      desc "Show information about the gem."
      task :debug_gem do
        puts spec.to_ruby
      end

      task :isolate # stub
      task :irb => :isolate do
        name = spec.name.gsub("-", "/")
        file = (spec.files.grep(/^lib\/#{name}\.rb$/).first ||
                spec.files.grep(/^lib\/[^\/]*\.rb$/).first)

        require = File.basename(file, ".rb") if file
        require &&= "-r#{require}"

        ruby "#{Hoe::RUBY_FLAGS} -S irb #{require}"
      end
    end