packagecloud-ruby 0.2.23 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fd3b5ac65dd04c314eccc0cc82e9a4990de53896
4
- data.tar.gz: 5c04b61e407c71830a627039aa93d2535e735a52
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NjcwOGRkNWM5YjU5OTM4ZGYxZDAxYWE3NTA0MDI2NWJjZGZlNzYzYg==
5
+ data.tar.gz: !binary |-
6
+ ODNiZWMwMDRiOGY0MmJmNDUxMTIwNGI5ZmQyOGFiOGI2YzQzNmUzNA==
5
7
  SHA512:
6
- metadata.gz: 0115be00aaf164d67b654680e215f1678f247be29685d49732be3d3335cdae73ae75ba3d1c36303cacad1c1ee3980722b043e0f15f469ebda079628ad97ba3cf
7
- data.tar.gz: 0d8621b7cc5eb1e504814129ff1f3a341a1d5dbd2c56dc507288d93659cc2b36359dc2665dca8a6c57cc89527c64b6785d537659a901130fe4e4d7537f15272f
8
+ metadata.gz: !binary |-
9
+ MDVlOWM3MDViMTJmNTZiMTRlMjg5NDc4NjUzYTVkN2VmMWIxYWNkZDVlYWEw
10
+ NWYzNTJmZWU0YzQ2MGI3YTc1MTgzNGZmOGYzYjExMTdjMDM5ZWJhNmI2MmMy
11
+ MWNhN2JjYjllYWY0NjNmNWYxNmYzNjVkYTg2OWJkZmVmZTI4Y2M=
12
+ data.tar.gz: !binary |-
13
+ ZTVkMzQzYTVjMGY0YWM1ODMzMTRhNTNlMDcyNTFlMTUyYTJhZWMxYWY2NGE3
14
+ Y2VmNjEyNTUxNzdkMThiZWFlY2IxZDIwMjk5ZDlkYzA0YzI3M2RlMjMwZTY2
15
+ NDYzOTRiOWEwZWYwZDFhMTc2NGRjMTQ2MGU2YmRhYWRmZmNlYWM=
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## packagecloud-ruby
2
2
 
3
- ![Build Status](https://travis-ci.org/computology/packagecloud-ruby.svg "Build Status")
3
+ ![Build Status](https://travis-ci.org/computology/packagecloud-ruby.svg?branch=master "Build Status")
4
4
 
5
5
 
6
6
  Ruby library for communicating with the [packagecloud.io](https://packagecloud.io) API.
@@ -90,7 +90,7 @@ go to your [Account Settings](https://packagecloud.io/api_token) to see your API
90
90
 
91
91
  ```
92
92
 
93
- When specifiying your repository name, you should use just the name and not
93
+ When specifying your repository name, you should use just the name and not
94
94
  the fully qualified name (fqname).
95
95
 
96
96
  For example:
@@ -103,27 +103,25 @@ go to your [Account Settings](https://packagecloud.io/api_token) to see your API
103
103
  ### Packages
104
104
 
105
105
  ```ruby
106
- # Create RPM Packages (takes IO object for file)
107
- distro_id = @client.find_distribution_id("el/6")
108
- rpm_package = Packagecloud::Package.new(open("libcurl-0.1.2.rpm"), distro_id)
106
+ # Create RPM Packages (can take File, IO, or path argument)
107
+ rpm_package = Packagecloud::Package.new(:file => "libcurl-0.1.2.rpm")
109
108
 
110
- # Creating gem Packages (no distribution required)
111
- gem_package = Packagecloud::Package.new(open("rails-4.0.0.gem"))
109
+ # Creating gem Packages using IO (needs :filename passed in)
110
+ gem_package = Packagecloud::Package.new(:file => io_object, :filename => "rails-4.0.0.gem")
112
111
 
113
112
  # Creating source Packages
114
- distro_id = @client.find_distribution_id("ubuntu/trusty")
115
113
  source_files = { "jake_1.0.orig.tar.bz2" => open("/path/jake_1.0.orig.tar.bz2"),
116
114
  "jake_1.0-7.debian.tar.gz" => open("/path/jake_1.0-7.debian.tar.gz") }
117
- dsc_package = Packagecloud::Package.new(open("jake_1.0-7.dsc"), distro_id, source_files)
115
+ dsc_package = Packagecloud::Package.new(:file => "jake_1.0-7.dsc", :source_files => source_files)
118
116
 
119
117
  # Upload Packages
120
118
  @client.put_package("test_repo", gem_package)
121
- @client.put_package("test_repo", rpm_package)
122
- @client.put_package("test_repo", dsc_package)
119
+ @client.put_package("test_repo", rpm_package, "el/6")
120
+ @client.put_package("test_repo", dsc_package, "ubuntu/trusty")
123
121
  ```
124
122
 
125
123
  ## Copyright
126
124
 
127
- Copyright (c) 2014-2015 Computology, LLC
125
+ Copyright (c) 2014-2016 Computology, LLC
128
126
 
129
127
  See LICENSE.txt for details.
@@ -6,7 +6,7 @@ require 'packagecloud/connection'
6
6
  require 'packagecloud/version'
7
7
 
8
8
  module Packagecloud
9
- SUPPORTED_EXTENSIONS = ["deb", "rpm", "gem", "dsc"]
9
+ SUPPORTED_EXTENSIONS = ["deb", "dsc", "gem", "rpm", "whl", "zip", "egg", "egg-info", "tar", "bz2", "Z", "gz"]
10
10
 
11
11
  class UnauthenticatedException < StandardError
12
12
  attr_reader :object
@@ -44,7 +44,7 @@ module Packagecloud
44
44
  attr_reader :connection
45
45
  attr_reader :credentials
46
46
 
47
- def initialize(credentials, user_agent="default", connection=Connection.new)
47
+ def initialize(credentials, user_agent="packagecloud-ruby #{Packagecloud::VERSION}", connection=Connection.new)
48
48
  @credentials = credentials
49
49
  @connection = connection
50
50
  @user_agent = user_agent
@@ -56,7 +56,6 @@ module Packagecloud
56
56
 
57
57
  @excon = Excon.new("#{scheme}://#{token}@#{host}:#{port}")
58
58
  assert_valid_credentials
59
- assert_compatible_version
60
59
  end
61
60
 
62
61
  def distributions
@@ -116,15 +115,21 @@ module Packagecloud
116
115
  parsed_json_result(response)
117
116
  end
118
117
 
119
- def put_package(repo, package)
118
+ def put_package(repo, package, distro_version_id)
120
119
  assert_valid_repo_name(repo)
121
120
 
122
121
  url = "/api/v1/repos/#{username}/#{repo}/packages.json"
123
122
 
124
123
  mixed_msg = MIME::Multipart::FormData.new
125
124
 
126
- if package.distro_version_id != nil
127
- mixed_msg.add(MIME::Text.new(package.distro_version_id), "package[distro_version_id]")
125
+ if distro_version_id != nil
126
+ if distro_version_id.is_a? String
127
+ distro_version = find_distribution_id(distro_version_id)
128
+ raise "Cannot find distribution: #{distro_version_id}" if distro_version.nil?
129
+ mixed_msg.add(MIME::Text.new(distro_version), "package[distro_version_id]")
130
+ else
131
+ mixed_msg.add(MIME::Text.new(distro_version_id), "package[distro_version_id]")
132
+ end
128
133
  end
129
134
 
130
135
  pkg_data = MIME::Application.new(package.file.read)
@@ -147,7 +152,8 @@ module Packagecloud
147
152
  if distros.succeeded
148
153
  deb_distros = distro_map distros.response["deb"]
149
154
  rpm_distros = distro_map distros.response["rpm"]
150
- all_distros = deb_distros.merge(rpm_distros)
155
+ py_distros = distro_map distros.response["py"]
156
+ all_distros = deb_distros.merge(rpm_distros).merge(py_distros)
151
157
  result = all_distros.select { |distro, id| distro.include?(distro_query) }
152
158
  if result.size > 1
153
159
  keys = result.map { |x| x.first }.join(' ')
@@ -178,21 +184,6 @@ module Packagecloud
178
184
  end
179
185
  end
180
186
 
181
- def assert_compatible_version
182
- result = gem_version
183
- if result.succeeded
184
- if result.response["minor"] != MINOR_VERSION
185
- raise GemOutOfDateException.new("This library is out of date, please update it!")
186
- elsif result.response["patch"].to_i > PATCH_VERSION.to_i
187
- puts "[WARNING] There's a newer version of the packagecloud-ruby library. Update as soon as possible!"
188
- end
189
- elsif result.response.downcase.include?('unauthenticated')
190
- raise UnauthenticatedException.new
191
- else
192
- raise "Unable to get gem version from API: #{result.response}"
193
- end
194
- end
195
-
196
187
  def assert_valid_credentials
197
188
  result = distributions
198
189
  if result.succeeded == false && result.response.downcase.include?('unauthenticated')
@@ -2,21 +2,29 @@ module Packagecloud
2
2
  class Package
3
3
 
4
4
  attr_reader :file
5
- attr_reader :distro_version_id
6
5
  attr_accessor :source_files
7
6
  attr_reader :filename
7
+ attr_reader :client
8
8
 
9
- def initialize(file,
10
- distro_version_id=nil,
11
- source_files={},
12
- filename=rand(2**32).to_s(36))
9
+ def initialize(options = {})
10
+ if options[:file].nil?
11
+ raise ArgumentError, 'file cannot be nil' if file.nil?
12
+ end
13
+ if options[:file].is_a? String
14
+ options[:file] = File.open(options[:file])
15
+ end
16
+ if options[:file].is_a? File
17
+ options[:filename] = File.basename(options[:file].path)
18
+ end
19
+ if options[:filename].nil?
20
+ raise ArgumentError, 'filename cannot be nil' if file.nil?
21
+ end
13
22
 
14
- raise ArgumentError, 'file cannot be nil' if file.nil?
15
- @file = file
16
- @filename = filename
17
- @distro_version_id = distro_version_id
18
- @source_files = source_files
23
+ @file = options[:file]
24
+ @filename = options[:filename]
25
+ @source_files = options[:source_files] || {}
26
+ @client = options[:client]
19
27
  end
20
28
 
21
29
  end
22
- end
30
+ end
@@ -1,7 +1,7 @@
1
1
  module Packagecloud
2
- MAJOR_VERSION = "0"
3
- MINOR_VERSION = "2"
4
- PATCH_VERSION = "23"
2
+ MAJOR_VERSION = "1"
3
+ MINOR_VERSION = "0"
4
+ PATCH_VERSION = "1"
5
5
 
6
6
  VERSION = [MAJOR_VERSION, MINOR_VERSION, PATCH_VERSION].join(".")
7
7
  end
@@ -0,0 +1 @@
1
+ {"deb":[{"display_name":"Ubuntu","index_name":"ubuntu","versions":[{"id":1,"display_name":"4.10 Warty Warthog","index_name":"warty","version_number":"4.10"},{"id":2,"display_name":"5.04 Hoary Hedgehog","index_name":"hoary","version_number":"5.04"},{"id":3,"display_name":"5.10 Breezy Badger","index_name":"breezy","version_number":"5.10"},{"id":4,"display_name":"6.06 LTS Dapper Drake","index_name":"dapper","version_number":"6.06"},{"id":5,"display_name":"6.10 Edgy Eft","index_name":"edgy","version_number":"6.10"},{"id":6,"display_name":"7.04 Feisty Fawn","index_name":"feisty","version_number":"7.04"},{"id":7,"display_name":"7.10 Gutsy Gibbon","index_name":"gutsy","version_number":"7.10"},{"id":8,"display_name":"8.04 LTS Hardy Heron","index_name":"hardy","version_number":"8.04"},{"id":9,"display_name":"8.10 Intrepid Ibex","index_name":"intrepid","version_number":"8.10"},{"id":10,"display_name":"9.04 Jaunty Jackalope","index_name":"jaunty","version_number":"9.04"},{"id":11,"display_name":"9.10 Karmic Koala","index_name":"karmic","version_number":"9.10"},{"id":12,"display_name":"10.04 LTS Lucid Lynx","index_name":"lucid","version_number":"10.04"},{"id":13,"display_name":"10.10 Maverick Meerkat","index_name":"maverick","version_number":"10.10"},{"id":14,"display_name":"11.04 Natty Narwhal","index_name":"natty","version_number":"11.04"},{"id":15,"display_name":"11.10 Oneiric Ocelot","index_name":"oneiric","version_number":"11.10"},{"id":16,"display_name":"12.04 LTS Precise Pangolin","index_name":"precise","version_number":"12.04"},{"id":17,"display_name":"12.10 Quantal Quetzal","index_name":"quantal","version_number":"12.10"},{"id":18,"display_name":"13.04 Raring Ringtail","index_name":"raring","version_number":"13.04"},{"id":19,"display_name":"13.10 Saucy Salamander","index_name":"saucy","version_number":"13.10"},{"id":20,"display_name":"14.04 LTS Trusty Tahr","index_name":"trusty","version_number":"14.04"},{"id":142,"display_name":"14.10 Utopic Unicorn","index_name":"utopic","version_number":"14.10"},{"id":148,"display_name":"15.04 Vivid Vervet","index_name":"vivid","version_number":"15.04"},{"id":152,"display_name":"15.10 Wily Werewolf","index_name":"wily","version_number":"15.10"},{"id":165,"display_name":"16.04 LTS Xenial Xerus","index_name":"xenial","version_number":"16.04"}]},{"display_name":"Debian","index_name":"debian","versions":[{"id":21,"display_name":"4.0 etch","index_name":"etch","version_number":"4.0"},{"id":22,"display_name":"5.0 lenny","index_name":"lenny","version_number":"5.0"},{"id":23,"display_name":"6.0 squeeze","index_name":"squeeze","version_number":"6.0"},{"id":24,"display_name":"7 wheezy","index_name":"wheezy","version_number":"7.0"},{"id":25,"display_name":"8 jessie","index_name":"jessie","version_number":"8.0"},{"id":149,"display_name":"9 stretch","index_name":"stretch","version_number":"9.0"},{"id":150,"display_name":"10 buster","index_name":"buster","version_number":"10.0"}]},{"display_name":"Any deb-based distribution.","index_name":"any","versions":[{"id":35,"display_name":"Any version.","index_name":"any","version_number":null}]},{"display_name":"LinuxMint","index_name":"linuxmint","versions":[{"id":157,"display_name":"16 petra","index_name":"petra","version_number":"16"},{"id":158,"display_name":"17 qiana","index_name":"qiana","version_number":"17"},{"id":159,"display_name":"17.1 rebecca","index_name":"rebecca","version_number":"17.1"},{"id":160,"display_name":"17.2 rafaela","index_name":"rafaela","version_number":"17.2"},{"id":161,"display_name":"17.3 rosa","index_name":"rosa","version_number":"17.3"}]},{"display_name":"Raspbian","index_name":"raspbian","versions":[{"id":153,"display_name":"7 wheezy","index_name":"wheezy","version_number":"7.0"},{"id":154,"display_name":"8 jessie","index_name":"jessie","version_number":"8.0"},{"id":155,"display_name":"9 stretch","index_name":"stretch","version_number":"9.0"},{"id":156,"display_name":"10 buster","index_name":"buster","version_number":"10.0"}]},{"display_name":"elementary OS","index_name":"elementaryos","versions":[{"id":162,"display_name":"0.1 jupiter","index_name":"jupiter","version_number":"0.1"},{"id":163,"display_name":"0.2 luna","index_name":"luna","version_number":"0.2"},{"id":164,"display_name":"0.3 freya","index_name":"freya","version_number":"0.3"}]}],"rpm":[{"display_name":"Enterprise Linux","index_name":"el","versions":[{"id":26,"display_name":"Enterprise Linux 5.0","index_name":"5","version_number":"5.0"},{"id":27,"display_name":"Enterprise Linux 6.0","index_name":"6","version_number":"6.0"},{"id":140,"display_name":"Enterprise Linux 7.0","index_name":"7","version_number":"7.0"}]},{"display_name":"Fedora","index_name":"fedora","versions":[{"id":28,"display_name":"14 Laughlin","index_name":"14","version_number":"14.0"},{"id":29,"display_name":"15 Lovelock","index_name":"15","version_number":"15.0"},{"id":30,"display_name":"16 Verne","index_name":"16","version_number":"16.0"},{"id":31,"display_name":"17 Beefy Miracle","index_name":"17","version_number":"17.0"},{"id":32,"display_name":"18 Spherical Cow","index_name":"18","version_number":"18.0"},{"id":33,"display_name":"19 Schrödinger's Cat","index_name":"19","version_number":"19.0"},{"id":34,"display_name":"20 Heisenbug","index_name":"20","version_number":"20.0"},{"id":143,"display_name":"21 Fedora 21","index_name":"21","version_number":"21.0"},{"id":147,"display_name":"22 Fedora 22","index_name":"22","version_number":"22.0"},{"id":151,"display_name":"23 Fedora 23","index_name":"23","version_number":"23.0"}]},{"display_name":"Scientific Linux","index_name":"scientific","versions":[{"id":138,"display_name":"Scientific Linux 5.0","index_name":"5","version_number":"5.0"},{"id":139,"display_name":"Scientific Linux 6.0","index_name":"6","version_number":"6.0"},{"id":141,"display_name":"Scientific Linux 7.0","index_name":"7","version_number":"7.0"}]},{"display_name":"Oracle Linux","index_name":"ol","versions":[{"id":144,"display_name":"Oracle Linux 5.0","index_name":"5","version_number":"5.0"},{"id":145,"display_name":"Oracle Linux 6.0","index_name":"6","version_number":"6.0"},{"id":146,"display_name":"Oracle Linux 7.0","index_name":"7","version_number":"7.0"}]}],"py":[{"display_name":"Python","index_name":"python","versions":[{"id":166,"display_name":"Python"}]}],"dsc":[{"display_name":"Ubuntu","index_name":"ubuntu","versions":[{"id":1,"display_name":"4.10 Warty Warthog","index_name":"warty","version_number":"4.10"},{"id":2,"display_name":"5.04 Hoary Hedgehog","index_name":"hoary","version_number":"5.04"},{"id":3,"display_name":"5.10 Breezy Badger","index_name":"breezy","version_number":"5.10"},{"id":4,"display_name":"6.06 LTS Dapper Drake","index_name":"dapper","version_number":"6.06"},{"id":5,"display_name":"6.10 Edgy Eft","index_name":"edgy","version_number":"6.10"},{"id":6,"display_name":"7.04 Feisty Fawn","index_name":"feisty","version_number":"7.04"},{"id":7,"display_name":"7.10 Gutsy Gibbon","index_name":"gutsy","version_number":"7.10"},{"id":8,"display_name":"8.04 LTS Hardy Heron","index_name":"hardy","version_number":"8.04"},{"id":9,"display_name":"8.10 Intrepid Ibex","index_name":"intrepid","version_number":"8.10"},{"id":10,"display_name":"9.04 Jaunty Jackalope","index_name":"jaunty","version_number":"9.04"},{"id":11,"display_name":"9.10 Karmic Koala","index_name":"karmic","version_number":"9.10"},{"id":12,"display_name":"10.04 LTS Lucid Lynx","index_name":"lucid","version_number":"10.04"},{"id":13,"display_name":"10.10 Maverick Meerkat","index_name":"maverick","version_number":"10.10"},{"id":14,"display_name":"11.04 Natty Narwhal","index_name":"natty","version_number":"11.04"},{"id":15,"display_name":"11.10 Oneiric Ocelot","index_name":"oneiric","version_number":"11.10"},{"id":16,"display_name":"12.04 LTS Precise Pangolin","index_name":"precise","version_number":"12.04"},{"id":17,"display_name":"12.10 Quantal Quetzal","index_name":"quantal","version_number":"12.10"},{"id":18,"display_name":"13.04 Raring Ringtail","index_name":"raring","version_number":"13.04"},{"id":19,"display_name":"13.10 Saucy Salamander","index_name":"saucy","version_number":"13.10"},{"id":20,"display_name":"14.04 LTS Trusty Tahr","index_name":"trusty","version_number":"14.04"},{"id":142,"display_name":"14.10 Utopic Unicorn","index_name":"utopic","version_number":"14.10"},{"id":148,"display_name":"15.04 Vivid Vervet","index_name":"vivid","version_number":"15.04"},{"id":152,"display_name":"15.10 Wily Werewolf","index_name":"wily","version_number":"15.10"},{"id":165,"display_name":"16.04 LTS Xenial Xerus","index_name":"xenial","version_number":"16.04"}]},{"display_name":"Debian","index_name":"debian","versions":[{"id":21,"display_name":"4.0 etch","index_name":"etch","version_number":"4.0"},{"id":22,"display_name":"5.0 lenny","index_name":"lenny","version_number":"5.0"},{"id":23,"display_name":"6.0 squeeze","index_name":"squeeze","version_number":"6.0"},{"id":24,"display_name":"7 wheezy","index_name":"wheezy","version_number":"7.0"},{"id":25,"display_name":"8 jessie","index_name":"jessie","version_number":"8.0"},{"id":149,"display_name":"9 stretch","index_name":"stretch","version_number":"9.0"},{"id":150,"display_name":"10 buster","index_name":"buster","version_number":"10.0"}]},{"display_name":"Any deb-based distribution.","index_name":"any","versions":[{"id":35,"display_name":"Any version.","index_name":"any","version_number":null}]},{"display_name":"LinuxMint","index_name":"linuxmint","versions":[{"id":157,"display_name":"16 petra","index_name":"petra","version_number":"16"},{"id":158,"display_name":"17 qiana","index_name":"qiana","version_number":"17"},{"id":159,"display_name":"17.1 rebecca","index_name":"rebecca","version_number":"17.1"},{"id":160,"display_name":"17.2 rafaela","index_name":"rafaela","version_number":"17.2"},{"id":161,"display_name":"17.3 rosa","index_name":"rosa","version_number":"17.3"}]},{"display_name":"Raspbian","index_name":"raspbian","versions":[{"id":153,"display_name":"7 wheezy","index_name":"wheezy","version_number":"7.0"},{"id":154,"display_name":"8 jessie","index_name":"jessie","version_number":"8.0"},{"id":155,"display_name":"9 stretch","index_name":"stretch","version_number":"9.0"},{"id":156,"display_name":"10 buster","index_name":"buster","version_number":"10.0"}]},{"display_name":"elementary OS","index_name":"elementaryos","versions":[{"id":162,"display_name":"0.1 jupiter","index_name":"jupiter","version_number":"0.1"},{"id":163,"display_name":"0.2 luna","index_name":"luna","version_number":"0.2"},{"id":164,"display_name":"0.3 freya","index_name":"freya","version_number":"0.3"}]}]}
@@ -0,0 +1,46 @@
1
+ require 'spec_helper'
2
+ require 'packagecloud'
3
+
4
+ describe Package do
5
+ it "should raise for nil file" do
6
+ expect { Package.new }.to raise_error("file cannot be nil")
7
+ end
8
+
9
+ it "should raise for file that doesn't exist" do
10
+ expect { Package.new(:file => "hi") }.to raise_error
11
+ end
12
+
13
+ it "should be able to open String file paths" do
14
+ pkg = Package.new(:file => "spec/fixtures/chewbacca-1.0.0.gem")
15
+ expect(pkg.filename).to eql("chewbacca-1.0.0.gem")
16
+ end
17
+
18
+ it "should be able to open File objects" do
19
+ pkg = Package.new(:file => File.open("spec/fixtures/chewbacca-1.0.0.gem"))
20
+ expect(pkg.filename).to eql("chewbacca-1.0.0.gem")
21
+ end
22
+
23
+ it "should raise if IO object is passed without filename" do
24
+ fd = IO.sysopen("spec/fixtures/chewbacca-1.0.0.gem", "r")
25
+ io = IO.new(fd)
26
+ expect { Package.new(:file => io) }.to raise_error("filename cannot be nil")
27
+ end
28
+
29
+ it "should handle IO object if passed with filename" do
30
+ fd = IO.sysopen("spec/fixtures/chewbacca-1.0.0.gem", "r")
31
+ io = IO.new(fd)
32
+ pkg = Package.new(:file => io, :filename => "chewbacca-1.0.0.gem")
33
+ expect(pkg.filename).to eql("chewbacca-1.0.0.gem")
34
+ end
35
+
36
+ it "should handle source_files options" do
37
+ pkg = Package.new(:file => "spec/fixtures/natty_dsc/jake_1.0-7.dsc", :source_files => {"foo" => "bar"})
38
+ expect(pkg.source_files).to eql({"foo" => "bar"})
39
+ end
40
+
41
+ it "should always have a {} as default for source files" do
42
+ pkg = Package.new(:file => "spec/fixtures/natty_dsc/jake_1.0-7.dsc", :source_files => nil)
43
+ expect(pkg.source_files).to be_empty
44
+ end
45
+
46
+ end
@@ -2,7 +2,7 @@
2
2
  require 'webrick'
3
3
 
4
4
  class PackagecloudServer < WEBrick::HTTPServlet::AbstractServlet
5
- DISTRIBUTIONS = "{\"deb\":[{\"display_name\":\"Ubuntu\",\"index_name\":\"ubuntu\",\"versions\":[{\"id\":3,\"display_name\":\"5.10 Breezy Badger\",\"index_name\":\"breezy\",\"version_number\":\"5.10\"},{\"id\":4,\"display_name\":\"6.06 LTS Dapper Drake\",\"index_name\":\"dapper\",\"version_number\":\"6.06\"},{\"id\":5,\"display_name\":\"6.10 Edgy Eft\",\"index_name\":\"edgy\",\"version_number\":\"6.10\"},{\"id\":6,\"display_name\":\"7.04 Feisty Fawn\",\"index_name\":\"feisty\",\"version_number\":\"7.04\"},{\"id\":7,\"display_name\":\"7.10 Gutsy Gibbon\",\"index_name\":\"gutsy\",\"version_number\":\"7.10\"},{\"id\":8,\"display_name\":\"8.04 LTS Hardy Heron\",\"index_name\":\"hardy\",\"version_number\":\"8.04\"},{\"id\":2,\"display_name\":\"5.04 Hoary Hedgehog\",\"index_name\":\"hoary\",\"version_number\":\"5.04\"},{\"id\":9,\"display_name\":\"8.10 Intrepid Ibex\",\"index_name\":\"intrepid\",\"version_number\":\"8.10\"},{\"id\":10,\"display_name\":\"9.04 Jaunty Jackalope\",\"index_name\":\"jaunty\",\"version_number\":\"9.04\"},{\"id\":11,\"display_name\":\"9.10 Karmic Koala\",\"index_name\":\"karmic\",\"version_number\":\"9.10\"},{\"id\":12,\"display_name\":\"10.04 LTS Lucid Lynx\",\"index_name\":\"lucid\",\"version_number\":\"10.04\"},{\"id\":13,\"display_name\":\"10.10 Maverick Meerkat\",\"index_name\":\"maverick\",\"version_number\":\"10.10\"},{\"id\":14,\"display_name\":\"11.04 Natty Narwhal\",\"index_name\":\"natty\",\"version_number\":\"11.04\"},{\"id\":15,\"display_name\":\"11.10 Oneiric Ocelot\",\"index_name\":\"oneiric\",\"version_number\":\"11.10\"},{\"id\":16,\"display_name\":\"12.04 LTS Precise Pangolin\",\"index_name\":\"precise\",\"version_number\":\"12.04\"},{\"id\":17,\"display_name\":\"12.10 Quantal Quetzal\",\"index_name\":\"quantal\",\"version_number\":\"12.10\"},{\"id\":18,\"display_name\":\"13.04 Raring Ringtail\",\"index_name\":\"raring\",\"version_number\":\"13.04\"},{\"id\":19,\"display_name\":\"13.10 Saucy Salamander\",\"index_name\":\"saucy\",\"version_number\":\"13.10\"},{\"id\":20,\"display_name\":\"14.04 LTS[66] Trusty Tahr\",\"index_name\":\"trusty\",\"version_number\":\"14.04\"},{\"id\":1,\"display_name\":\"4.10 Warty Warthog\",\"index_name\":\"warty\",\"version_number\":\"4.10\"}]},{\"display_name\":\"Debian\",\"index_name\":\"debian\",\"versions\":[{\"id\":21,\"display_name\":\"4.0 etch\",\"index_name\":\"etch\",\"version_number\":\"4.0\"},{\"id\":25,\"display_name\":\"8 jessie\",\"index_name\":\"jessie\",\"version_number\":\"8.0\"},{\"id\":22,\"display_name\":\"5.0 lenny\",\"index_name\":\"lenny\",\"version_number\":\"5.0\"},{\"id\":23,\"display_name\":\"6.0 squeeze\",\"index_name\":\"squeeze\",\"version_number\":\"6.0\"},{\"id\":24,\"display_name\":\"7 wheezy\",\"index_name\":\"wheezy\",\"version_number\":\"7.0\"}]},{\"display_name\":\"Any deb-based distribution.\",\"index_name\":\"any\",\"versions\":[{\"id\":35,\"display_name\":\"Any version.\",\"index_name\":\"any\",\"version_number\":null}]}],\"rpm\":[{\"display_name\":\"Enterprise Linux\",\"index_name\":\"el\",\"versions\":[{\"id\":26,\"display_name\":\"Enterprise Linux 5.0\",\"index_name\":\"5\",\"version_number\":\"5.0\"},{\"id\":27,\"display_name\":\"Enterprise Linux 6.0\",\"index_name\":\"6\",\"version_number\":\"6.0\"},{\"id\":140,\"display_name\":\"Enterprise Linux 7.0\",\"index_name\":\"7\",\"version_number\":\"7.0\"}]},{\"display_name\":\"Fedora\",\"index_name\":\"fedora\",\"versions\":[{\"id\":28,\"display_name\":\"14 Laughlin\",\"index_name\":\"14\",\"version_number\":\"14.0\"},{\"id\":29,\"display_name\":\"15 Lovelock\",\"index_name\":\"15\",\"version_number\":\"15.0\"},{\"id\":30,\"display_name\":\"16 Verne\",\"index_name\":\"16\",\"version_number\":\"16.0\"},{\"id\":31,\"display_name\":\"17 Beefy Miracle\",\"index_name\":\"17\",\"version_number\":\"17.0\"},{\"id\":32,\"display_name\":\"18 Spherical Cow\",\"index_name\":\"18\",\"version_number\":\"18.0\"},{\"id\":33,\"display_name\":\"19 Schrödinger's Cat\",\"index_name\":\"19\",\"version_number\":\"19.0\"},{\"id\":34,\"display_name\":\"20 Heisenbug\",\"index_name\":\"20\",\"version_number\":\"20.0\"}]},{\"display_name\":\"Scientific Linux\",\"index_name\":\"scientific\",\"versions\":[{\"id\":138,\"display_name\":\"Scientific Linux 5.0\",\"index_name\":\"5\",\"version_number\":\"5.0\"},{\"id\":139,\"display_name\":\"Scientific Linux 6.0\",\"index_name\":\"6\",\"version_number\":\"6.0\"}]}],\"dsc\":[{\"display_name\":\"Ubuntu\",\"index_name\":\"ubuntu\",\"versions\":[{\"id\":3,\"display_name\":\"5.10 Breezy Badger\",\"index_name\":\"breezy\",\"version_number\":\"5.10\"},{\"id\":4,\"display_name\":\"6.06 LTS Dapper Drake\",\"index_name\":\"dapper\",\"version_number\":\"6.06\"},{\"id\":5,\"display_name\":\"6.10 Edgy Eft\",\"index_name\":\"edgy\",\"version_number\":\"6.10\"},{\"id\":6,\"display_name\":\"7.04 Feisty Fawn\",\"index_name\":\"feisty\",\"version_number\":\"7.04\"},{\"id\":7,\"display_name\":\"7.10 Gutsy Gibbon\",\"index_name\":\"gutsy\",\"version_number\":\"7.10\"},{\"id\":8,\"display_name\":\"8.04 LTS Hardy Heron\",\"index_name\":\"hardy\",\"version_number\":\"8.04\"},{\"id\":2,\"display_name\":\"5.04 Hoary Hedgehog\",\"index_name\":\"hoary\",\"version_number\":\"5.04\"},{\"id\":9,\"display_name\":\"8.10 Intrepid Ibex\",\"index_name\":\"intrepid\",\"version_number\":\"8.10\"},{\"id\":10,\"display_name\":\"9.04 Jaunty Jackalope\",\"index_name\":\"jaunty\",\"version_number\":\"9.04\"},{\"id\":11,\"display_name\":\"9.10 Karmic Koala\",\"index_name\":\"karmic\",\"version_number\":\"9.10\"},{\"id\":12,\"display_name\":\"10.04 LTS Lucid Lynx\",\"index_name\":\"lucid\",\"version_number\":\"10.04\"},{\"id\":13,\"display_name\":\"10.10 Maverick Meerkat\",\"index_name\":\"maverick\",\"version_number\":\"10.10\"},{\"id\":14,\"display_name\":\"11.04 Natty Narwhal\",\"index_name\":\"natty\",\"version_number\":\"11.04\"},{\"id\":15,\"display_name\":\"11.10 Oneiric Ocelot\",\"index_name\":\"oneiric\",\"version_number\":\"11.10\"},{\"id\":16,\"display_name\":\"12.04 LTS Precise Pangolin\",\"index_name\":\"precise\",\"version_number\":\"12.04\"},{\"id\":17,\"display_name\":\"12.10 Quantal Quetzal\",\"index_name\":\"quantal\",\"version_number\":\"12.10\"},{\"id\":18,\"display_name\":\"13.04 Raring Ringtail\",\"index_name\":\"raring\",\"version_number\":\"13.04\"},{\"id\":19,\"display_name\":\"13.10 Saucy Salamander\",\"index_name\":\"saucy\",\"version_number\":\"13.10\"},{\"id\":20,\"display_name\":\"14.04 LTS[66] Trusty Tahr\",\"index_name\":\"trusty\",\"version_number\":\"14.04\"},{\"id\":1,\"display_name\":\"4.10 Warty Warthog\",\"index_name\":\"warty\",\"version_number\":\"4.10\"}]},{\"display_name\":\"Debian\",\"index_name\":\"debian\",\"versions\":[{\"id\":21,\"display_name\":\"4.0 etch\",\"index_name\":\"etch\",\"version_number\":\"4.0\"},{\"id\":25,\"display_name\":\"8 jessie\",\"index_name\":\"jessie\",\"version_number\":\"8.0\"},{\"id\":22,\"display_name\":\"5.0 lenny\",\"index_name\":\"lenny\",\"version_number\":\"5.0\"},{\"id\":23,\"display_name\":\"6.0 squeeze\",\"index_name\":\"squeeze\",\"version_number\":\"6.0\"},{\"id\":24,\"display_name\":\"7 wheezy\",\"index_name\":\"wheezy\",\"version_number\":\"7.0\"}]},{\"display_name\":\"Any deb-based distribution.\",\"index_name\":\"any\",\"versions\":[{\"id\":35,\"display_name\":\"Any version.\",\"index_name\":\"any\",\"version_number\":null}]}]}"
5
+ DISTRIBUTIONS = File.read("spec/fixtures/distros.json")
6
6
  PACKAGE_CONTENTS = "{\"files\":[{\"filename\":\"jake_1.0.orig.tar.bz2\",\"size\":1108,\"md5sum\":\"a7a309b55424198ee98abcb8092d7be0\"},{\"filename\":\"jake_1.0-7.debian.tar.gz\",\"size\":1571,\"md5sum\":\"0fa5395e95ddf846b419e96575ce8044\"}]}"
7
7
  GEM_VERSION = "{\"major\":\"0\",\"minor\":\"2\",\"patch\":\"1\"}"
8
8
  REPO = '{"name": "test_repo","created_at": "2014-08-30T03:51:37.000Z","url": "https://packagecloud.io/joedamato/test_repo","last_push_human": "about 2 months ago","package_count_human": "4 packages","private": true,"fqname": "joedamato/test_repo"}'
@@ -25,7 +25,7 @@ describe Packagecloud do
25
25
  end
26
26
 
27
27
  it "should have a VERSION constant" do
28
- subject.const_get('VERSION').should_not be_empty
28
+ expect(subject.const_get('VERSION')).to_not be_empty
29
29
  end
30
30
 
31
31
  it "GET api/v1/distributions.json" do
@@ -42,11 +42,30 @@ describe Packagecloud do
42
42
  end
43
43
 
44
44
  it "POST debian package /api/v1/repos/joedamato/test_repo/packages.json" do
45
- deb = File.dirname(__FILE__) + '/fixtures/libampsharp2.0-cil_2.0.4-1_all.deb'
46
- size = File.size(deb)
47
- package = Package.new(open(deb), 22)
45
+ path = "spec/fixtures/libampsharp2.0-cil_2.0.4-1_all.deb"
46
+ size = File.size(path)
47
+ package = Package.new(:file => path)
48
48
 
49
- result = @client.put_package("test_repo", package)
49
+ result = @client.put_package("test_repo", package, 22)
50
+ expect(result.succeeded).to be_truthy
51
+
52
+ #assert content type is set correctly
53
+ expect($request.content_type).to include("boundary=")
54
+ expect($request.content_type).to include("multipart/form-data")
55
+
56
+ # assert body is at least bigger than fixture file
57
+ expect($request.content_length > size).to be_truthy
58
+ end
59
+
60
+ it "POST debian package /api/v1/repos/joedamato/test_repo/packages.json with string distro_version_id" do
61
+ allow(@client).to receive(:find_distribution_id).and_return(3)
62
+ path = "spec/fixtures/libampsharp2.0-cil_2.0.4-1_all.deb"
63
+ size = File.size(path)
64
+ package = Package.new(:file => path)
65
+
66
+ result = @client.put_package("test_repo", package, "ubuntu/breezy")
67
+
68
+ expect(@client).to have_received(:find_distribution_id)
50
69
  expect(result.succeeded).to be_truthy
51
70
 
52
71
  #assert content type is set correctly
@@ -70,10 +89,9 @@ describe Packagecloud do
70
89
  jake_debian_size = File.size(jake_debian)
71
90
  combined_size = dsc_size + jake_orig_size + jake_debian_size
72
91
 
73
- #TODO consider opening IO objects automatically for paths
74
- package = Package.new(open(dsc), 22, source_packages)
92
+ package = Package.new(:file => dsc, :source_files => source_packages)
75
93
 
76
- result = @client.put_package("test_repo", package)
94
+ result = @client.put_package("test_repo", package, 22)
77
95
  expect(result.succeeded).to be_truthy
78
96
 
79
97
  #assert content type is set correctly
@@ -85,9 +103,9 @@ describe Packagecloud do
85
103
  end
86
104
 
87
105
  it "POST /api/v1/repos/joedamato/test_repo/packages/contents.json" do
88
- dsc = File.dirname(__FILE__) + '/fixtures/natty_dsc/jake_1.0-7.dsc'
106
+ dsc = 'spec/fixtures/natty_dsc/jake_1.0-7.dsc'
89
107
  size = File.size(dsc)
90
- package = Package.new(open(dsc))
108
+ package = Package.new(:file => dsc)
91
109
 
92
110
  result = @client.package_contents("test_repo", package)
93
111
  expect(result.succeeded).to be_truthy
@@ -155,31 +173,6 @@ describe Packagecloud do
155
173
  end.to raise_error(InvalidUsernameException)
156
174
  end
157
175
 
158
- it "should raise if api has advanced too far" do
159
- current = Packagecloud::MINOR_VERSION
160
- Packagecloud::MINOR_VERSION = "1"
161
- credentials = Credentials.new("joedamato", "test_token")
162
- connection = Connection.new("http", "localhost", 8000)
163
-
164
- expect {
165
- Client.new(credentials, "test_client", connection)
166
- }.to raise_error(GemOutOfDateException)
167
- # Set this back to current
168
- Packagecloud::MINOR_VERSION = current
169
- end
170
-
171
- it "should suggest upgrading if patch version is higher" do
172
- current = Packagecloud::PATCH_VERSION
173
- Packagecloud::PATCH_VERSION = "0"
174
- credentials = Credentials.new("joedamato", "test_token")
175
- connection = Connection.new("http", "localhost", 8000)
176
- $stdout.should_receive(:write).with("[WARNING] There's a newer version of the packagecloud-ruby library. Update as soon as possible!")
177
- $stdout.should_receive(:write).with("\n")
178
- Client.new(credentials, "test_client", connection)
179
- # Set this back to current
180
- Packagecloud::PATCH_VERSION = current
181
- end
182
-
183
176
  it "invalid credentials should raise unauthenticated exception" do
184
177
  credentials = Credentials.new("joedamato", "test_tafdfasoken")
185
178
  connection = Connection.new("http", "localhost", 8000)
@@ -199,6 +192,11 @@ describe Packagecloud do
199
192
  expect(id).to be(3)
200
193
  end
201
194
 
195
+ it "should find python" do
196
+ id = @client.find_distribution_id("python")
197
+ expect(id).to be(166)
198
+ end
199
+
202
200
  it "should return nil for invalid distro" do
203
201
  id = @client.find_distribution_id("ubuasdalsdntu/breezy")
204
202
  expect(id).to be_nil
metadata CHANGED
@@ -1,153 +1,153 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packagecloud-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.23
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Damato
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-03 00:00:00.000000000 Z
11
+ date: 2016-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: excon
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ~>
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0.40'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0.40'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: multi_json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ~>
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json_pure
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ~>
46
46
  - !ruby/object:Gem::Version
47
47
  version: '1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ~>
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: mime
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ~>
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0.4'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: bundler
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
75
  version: '1.0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
82
  version: '1.0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
89
  version: '0.8'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ~>
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0.8'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
101
+ - - ~>
102
102
  - !ruby/object:Gem::Version
103
103
  version: '2.4'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - "~>"
108
+ - - ~>
109
109
  - !ruby/object:Gem::Version
110
110
  version: '2.4'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: simplecov
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: '0.9'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - "~>"
122
+ - - ~>
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.9'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rubygems-tasks
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ~>
130
130
  - !ruby/object:Gem::Version
131
131
  version: '0.2'
132
132
  type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - "~>"
136
+ - - ~>
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0.2'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: yard
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - "~>"
143
+ - - ~>
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0.8'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - "~>"
150
+ - - ~>
151
151
  - !ruby/object:Gem::Version
152
152
  version: '0.8'
153
153
  description: library for interacting with packagecloud.io
@@ -156,11 +156,11 @@ executables: []
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
- - ".document"
160
- - ".gitignore"
161
- - ".rspec"
162
- - ".travis.yml"
163
- - ".yardopts"
159
+ - .document
160
+ - .gitignore
161
+ - .rspec
162
+ - .travis.yml
163
+ - .yardopts
164
164
  - Gemfile
165
165
  - LICENSE.txt
166
166
  - README.md
@@ -174,10 +174,12 @@ files:
174
174
  - lib/packagecloud/version.rb
175
175
  - packagecloud-ruby.gemspec
176
176
  - spec/fixtures/chewbacca-1.0.0.gem
177
+ - spec/fixtures/distros.json
177
178
  - spec/fixtures/libampsharp2.0-cil_2.0.4-1_all.deb
178
179
  - spec/fixtures/natty_dsc/jake_1.0-7.debian.tar.gz
179
180
  - spec/fixtures/natty_dsc/jake_1.0-7.dsc
180
181
  - spec/fixtures/natty_dsc/jake_1.0.orig.tar.bz2
182
+ - spec/package_spec.rb
181
183
  - spec/packagecloud_server.rb
182
184
  - spec/packagecloud_spec.rb
183
185
  - spec/spec_helper.rb
@@ -191,27 +193,28 @@ require_paths:
191
193
  - lib
192
194
  required_ruby_version: !ruby/object:Gem::Requirement
193
195
  requirements:
194
- - - ">="
196
+ - - ! '>='
195
197
  - !ruby/object:Gem::Version
196
198
  version: '0'
197
199
  required_rubygems_version: !ruby/object:Gem::Requirement
198
200
  requirements:
199
- - - ">="
201
+ - - ! '>='
200
202
  - !ruby/object:Gem::Version
201
203
  version: '0'
202
204
  requirements: []
203
205
  rubyforge_project:
204
- rubygems_version: 2.4.4
206
+ rubygems_version: 2.4.8
205
207
  signing_key:
206
208
  specification_version: 4
207
209
  summary: library for interacting with packagecloud.io
208
210
  test_files:
209
211
  - spec/fixtures/chewbacca-1.0.0.gem
212
+ - spec/fixtures/distros.json
210
213
  - spec/fixtures/libampsharp2.0-cil_2.0.4-1_all.deb
211
214
  - spec/fixtures/natty_dsc/jake_1.0-7.debian.tar.gz
212
215
  - spec/fixtures/natty_dsc/jake_1.0-7.dsc
213
216
  - spec/fixtures/natty_dsc/jake_1.0.orig.tar.bz2
217
+ - spec/package_spec.rb
214
218
  - spec/packagecloud_server.rb
215
219
  - spec/packagecloud_spec.rb
216
220
  - spec/spec_helper.rb
217
- has_rdoc: