package_cloud 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,6 +10,27 @@ module PackageCloud
10
10
  desc "master_token SUBCMD ...ARGS", "manage master tokens"
11
11
  subcommand "master_token", MasterToken
12
12
 
13
+ desc "yank user/repo[/distro/version] package_name",
14
+ "yank package from user/repo [in dist/version]"
15
+ def yank(repo_desc, package_name)
16
+ ARGV.clear # otherwise gets explodes
17
+
18
+ # strip os/dist
19
+ repo_name = repo_desc.split("/")[0..1].join("/")
20
+ dist = repo_desc.split("/")[2..3].join("/")
21
+
22
+ if dist == "" && package_name =~ /\.gem$/
23
+ dist = "gems"
24
+ end
25
+
26
+ print "Looking for repository at #{repo_name}... "
27
+ repo = client.repository(repo_desc)
28
+ print "success!\n"
29
+
30
+ print "Attempting to yank package at #{repo_name}/#{dist}/#{package_name}..."
31
+ packages = repo.yank(dist, package_name)
32
+ puts "done!".green
33
+ end
13
34
 
14
35
  desc "push user/repo[/distro/version] /path/to/packages",
15
36
  "push package(s) to repository (in distro/version if required)"
@@ -50,6 +50,21 @@ module PackageCloud
50
50
  end
51
51
  end
52
52
 
53
+ def yank(dist, package_name)
54
+ url = @config.base_url + paths["self"] + "/" + [dist, package_name].compact.join("/")
55
+ begin
56
+ RestClient.delete(url)
57
+ rescue RestClient::ResourceNotFound => e
58
+ print "error:\n".red
59
+ json = JSON.parse(e.response)
60
+ json.each do |k,v|
61
+ puts "\n\t#{k}: #{v.join(", ")}\n"
62
+ end
63
+ puts ""
64
+ exit(1)
65
+ end
66
+ end
67
+
53
68
  def private_human
54
69
  send(:private) ? "private".red : "public".green
55
70
  end
@@ -1,7 +1,7 @@
1
1
  module PackageCloud
2
2
  MAJOR_VERSION = "0"
3
3
  MINOR_VERSION = "2"
4
- PATCH_VERSION = "2"
4
+ PATCH_VERSION = "3"
5
5
 
6
6
  VERSION = [MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION].join(".")
7
7
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: package_cloud
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.2.2
5
+ version: 0.2.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - James Golick
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2014-04-20 00:00:00 Z
13
+ date: 2014-05-28 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: thor