Class: PackageCloud::CLI::Repository
- Defined in:
- lib/package_cloud/cli/repository.rb
Instance Method Summary collapse
Instance Method Details
#create(repo_name) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/package_cloud/cli/repository.rb', line 7 def create(repo_name) config.read_or_create client = Client.new(config) print "Looking for repository at #{repo_name}... " repo = client.create_repo(repo_name, [:private]) print "success!\n".color(:green) puts "Your repository has been created at:" puts " #{repo["url"]}" end |
#install(repo, package_type) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/package_cloud/cli/repository.rb', line 37 def install(repo, package_type) if Process.uid != 0 && package_type != "gem" abort("You have to run install as root.".color(:red)) end print "Locating repository at #{repo}... " repo = client.repository(repo) print "success!\n" script = repo.install_script(package_type) pid = fork { exec("/bin/bash", script.path) } Process.waitpid(pid) script.unlink end |
#list ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/package_cloud/cli/repository.rb', line 20 def list repos = client.repositories if repos.length == 0 puts "You have no repositories at the moment. Create one!" else puts "Your repositories:" puts "" repos.each_with_index do |repo, i| puts " #{repo.fqname} (#{repo.private_human})" puts " last push: #{repo.last_push_human} | packages: #{repo.package_count_human}" puts "" unless i == repos.length - 1 end end end |