module Hoe::Debug
def check_manifest
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.trace || Rake.verbose } begin sh "#{DIFF} -du Manifest.txt #{f}", verbose ensure rm f, **verbose end end end
def define_debug_tasks
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