gemfury 0.4.12 → 0.4.14

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.
data/README.md CHANGED
@@ -26,7 +26,7 @@ any package to any host. It's simple, reliable, and hassle-free.
26
26
  * [Install private RubyGems](http://devcenter.gemfury.com/articles/install-gems.html)
27
27
  * [Install private Python packages](http://devcenter.gemfury.com/articles/pypi-server.html)
28
28
  * [Install private NPM modules](http://devcenter.gemfury.com/articles/npm-registry.html)
29
- * [Private Gems on Heroku](http://devcenter.gemfury.com/articles/private-gems-on-heroku.html)
29
+ * [Private RubyGems on Heroku](http://devcenter.gemfury.com/articles/private-gems-on-heroku.html)
30
30
 
31
31
 
32
32
  ## Contribution and Improvements
data/lib/gemfury.rb CHANGED
@@ -1,4 +1,4 @@
1
- require 'uri'
1
+ require 'cgi'
2
2
  require 'multi_json'
3
3
  require 'faraday_middleware'
4
4
  require 'faraday/request/multipart_with_file'
@@ -40,7 +40,8 @@ module Gemfury
40
40
  # List versions for a gem
41
41
  def versions(name, options = {})
42
42
  ensure_ready!(:authorization)
43
- response = connection.get("gems/#{name}/versions", options)
43
+ url = "gems/#{escape(name)}/versions"
44
+ response = connection.get(url, options)
44
45
  ensure_successful_response!(response)
45
46
  response.body
46
47
  end
@@ -48,7 +49,8 @@ module Gemfury
48
49
  # Delete a gem version
49
50
  def yank_version(name, version, options = {})
50
51
  ensure_ready!(:authorization)
51
- response = connection.delete("gems/#{name}/versions/#{version}", options)
52
+ url = "gems/#{escape(name)}/versions/#{escape(version)}"
53
+ response = connection.delete(url, options)
52
54
  ensure_successful_response!(response)
53
55
  response.body
54
56
  end
@@ -75,20 +77,24 @@ module Gemfury
75
77
  # Add a collaborator to the account
76
78
  def add_collaborator(login, options = {})
77
79
  ensure_ready!(:authorization)
78
- login = URI.escape(login, '@.')
79
- response = connection.put("collaborators/#{login}", options)
80
+ url = "collaborators/#{escape(login)}"
81
+ response = connection.put(url, options)
80
82
  ensure_successful_response!(response)
81
83
  end
82
84
 
83
85
  # Remove a collaborator to the account
84
86
  def remove_collaborator(login, options = {})
85
87
  ensure_ready!(:authorization)
86
- login = URI.escape(login, '@.')
87
- response = connection.delete("collaborators/#{login}", options)
88
+ url = "collaborators/#{escape(login)}"
89
+ response = connection.delete(url, options)
88
90
  ensure_successful_response!(response)
89
91
  end
90
92
 
91
93
  private
94
+ def escape(str)
95
+ CGI.escape(str)
96
+ end
97
+
92
98
  def connection(options = {})
93
99
  options = {
94
100
  :url => self.endpoint,
@@ -1,3 +1,3 @@
1
1
  module Gemfury
2
- VERSION = '0.4.12'
2
+ VERSION = '0.4.14'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gemfury
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.12
4
+ version: 0.4.14
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-15 00:00:00.000000000 Z
12
+ date: 2013-03-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: highline
@@ -59,7 +59,7 @@ dependencies:
59
59
  version: 1.0.2
60
60
  - - <
61
61
  - !ruby/object:Gem::Version
62
- version: '1.4'
62
+ version: '1.7'
63
63
  type: :runtime
64
64
  prerelease: false
65
65
  version_requirements: !ruby/object:Gem::Requirement
@@ -70,7 +70,7 @@ dependencies:
70
70
  version: 1.0.2
71
71
  - - <
72
72
  - !ruby/object:Gem::Version
73
- version: '1.4'
73
+ version: '1.7'
74
74
  - !ruby/object:Gem::Dependency
75
75
  name: faraday
76
76
  requirement: !ruby/object:Gem::Requirement
@@ -103,7 +103,7 @@ dependencies:
103
103
  version: '0.7'
104
104
  - - <
105
105
  - !ruby/object:Gem::Version
106
- version: '0.9'
106
+ version: '0.10'
107
107
  type: :runtime
108
108
  prerelease: false
109
109
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,7 +114,7 @@ dependencies:
114
114
  version: '0.7'
115
115
  - - <
116
116
  - !ruby/object:Gem::Version
117
- version: '0.9'
117
+ version: '0.10'
118
118
  description: ! 'Cloud Gem Server for your private RubyGems at http://gemfury.com
119
119
 
120
120
  '