class Grundler::Commands::Remove
Public Class Methods
new(cli, packages, json_writer)
click to toggle source
Calls superclass method
Grundler::Commands::Common::new
# File lib/grundler/commands/remove.rb, line 8 def initialize(cli, packages, json_writer) super(cli) unless File.exist?(Grundler::LOCKFILE_PATH) puts "No #{Grundler::LOCKFILE_PATH} file found!" return end if packages.empty? puts "Must specify a package name!" return end json_writer.remove(delete(packages)) end
Private Instance Methods
delete(packages)
click to toggle source
# File lib/grundler/commands/remove.rb, line 25 def delete(packages) packages.each do |package| puts "Removing #{package}" FileUtils.rm "#{@cli.nodule_path}/#{package}.js" if File.exist?("#{@cli.nodule_path}/#{package}.js") remove_directory_if_empty(package) end packages.map { |package| [package, package] }.to_h end
remove_directory_if_empty(package)
click to toggle source
# File lib/grundler/commands/remove.rb, line 35 def remove_directory_if_empty(package) dirname = File.dirname("#{@cli.nodule_path}/#{package}.js") FileUtils.rm_rf dirname if Dir.exist?(dirname) && Dir.empty?(dirname) end