bin/kosmos in kosmos-0.0.1 vs bin/kosmos in kosmos-0.0.2.pre.test2

- old
+ new

@@ -4,90 +4,17 @@ Kosmos.configure do |config| config.verbose = true end -def pretty_print_list(list) - list.each { |value| puts " * #{value}" } -end - -def load_packages(package_names) - packages = Hash[package_names.map do |name| - [name, Kosmos::Package.find(name)] - end] - - unknown_packages = packages.select { |_, package| package.nil? } - - if unknown_packages.any? - puts "Error: Kosmos couldn't find any packages with the following names:" - pretty_print_list(unknown_packages.keys) - exit - end - - packages.values -end - -def check_installed_packages(ksp_path, packages) - installed_titles = Kosmos::Versioner.installed_packages(ksp_path) - - installed_packages = packages.select do |package| - installed_titles.include?(package.title) - end - - if installed_packages.any? - puts "Error: You have already installed the following packages using Kosmos:" - pretty_print_list(installed_packages.map(&:title)) - exit - end -end - case ARGV.shift when 'init' - ksp_path = ARGV.shift - - puts "Initializing Kosmos into #{ksp_path} (This will take a sec) ..." - - Kosmos::Versioner.init_repo(ksp_path) - Kosmos.save_ksp_path(ksp_path) - - puts "Done! You're ready to begin installing mods." - puts - puts "Install your first mod by running the command:" - puts " kosmos install [name-of-the-mod]" - puts - + Kosmos::UserInterface.init(ARGV) when 'install' - ksp_path = Kosmos.load_ksp_path - - packages = load_packages(ARGV) - check_installed_packages(ksp_path, packages) - - puts "Kosmos is about to install #{packages.count} package(s):" - pretty_print_list(packages.map(&:title)) - - packages.each do |package| - puts "Installing package #{package.title} ..." - package.new.install!(ksp_path) - puts "Done!" - end - + Kosmos::UserInterface.install(ARGV) when 'uninstall' - ksp_path = Kosmos.load_ksp_path - - package_name = ARGV.shift - package = Kosmos::Package.find(package_name) - - if package - puts "Preparing to uninstall #{package.title} ..." - Kosmos::Versioner.uninstall_package(ksp_path, package) - puts "Done! Just uninstalled: #{package.title}." - else - puts "Error: Kosmos couldn't find any packages with the name #{package_name.inspect}." - end - + Kosmos::UserInterface.uninstall(ARGV) when 'list' - ksp_path = Kosmos.load_ksp_path - - packages = Kosmos::Versioner.installed_packages(ksp_path) - puts "You have installed #{packages.length} mod(s) using Kosmos:" - pretty_print_list(packages) + Kosmos::UserInterface.list(ARGV) +when 'server' + Kosmos::UserInterface.server(ARGV) end