gemfury 0.5.0 → 0.6.0.rc1
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.
- checksums.yaml +8 -8
- data/README.md +11 -11
- data/lib/faraday/adapter/fury_http.rb +32 -0
- data/lib/gemfury.rb +1 -0
- data/lib/gemfury/client.rb +18 -2
- data/lib/gemfury/client/middleware.rb +2 -1
- data/lib/gemfury/command/app.rb +20 -2
- data/lib/gemfury/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YWY0OTI2NjBhOGQzMWQzNzYzYWJjYjZiOTJmYTkwZjQ2MmZkMTE5YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
NGM1NTg1ZTc0YzhmNWY0MzM5OWMwYjg1ZjlkM2ZiYTA2MGRlNTlkNg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NjcxYmZmOTM2ZDY3ZDdlNWQ1OWI4MTg1YzBlMzhmMzY1MjBmOTAyODVkMThh
|
10
|
+
ZTNkOWE5YTg3MTIxZmI5NmViZTljY2NlMWRjM2IxOTUxMmQzYjdhMGE2MzU2
|
11
|
+
NTYzZDYzZTk0NDRlYTBiMDJjM2Q5NjdmYjlmYzY2NzQyZGNhYWI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
NmU2ZjA3NTFiZDdhYmI2Njg4ODZiZDA3NWIwYThjNjg4MmM0YTI2YjQ4OTJk
|
14
|
+
YzYxYzNmZDJhYmJiNWI0ZWNhZjNhNjUwNGNlYWVkOWYyYTg2OTRmYWNkYmI0
|
15
|
+
ZDljMWY1ZDQzYjEyZjVkYjE3MjMwYzNhZDBkYTFjZjQwMGIwNmE=
|
data/README.md
CHANGED
@@ -7,7 +7,7 @@ Gemfury CLI
|
|
7
7
|
|
8
8
|
This is the Gemfury CLI used to manage your Gemfury packages from the command line. If you're
|
9
9
|
familiar with the service and want to jump straight into command line action, please proceed to
|
10
|
-
the [CLI documentation](
|
10
|
+
the [CLI documentation](https://gemfury.com/help/gemfury-cli).
|
11
11
|
|
12
12
|
Gemfury is your personal cloud for your private and custom RubyGems, Python packages, and NPM
|
13
13
|
modules. Once you upload your packages and enable Gemfury as a source, you can securely deploy
|
@@ -15,20 +15,20 @@ any package to any host. It's simple, reliable, and hassle-free.
|
|
15
15
|
|
16
16
|
|
17
17
|
### Introduction to Gemfury
|
18
|
-
* [Gemfury homepage](
|
19
|
-
* [Getting started with Gemfury](
|
18
|
+
* [Gemfury homepage](https://gemfury.com/)
|
19
|
+
* [Getting started with Gemfury](https://gemfury.com/help/getting-started)
|
20
20
|
|
21
21
|
### Using Gemfury CLI
|
22
|
-
* [CLI documentation](
|
23
|
-
* [Uploading private packages](
|
24
|
-
* [Manage collaborators](
|
22
|
+
* [CLI documentation](https://gemfury.com/help/gemfury-cli)
|
23
|
+
* [Uploading private packages](https://gemfury.com/help/gemfury-cli#uploading-packages)
|
24
|
+
* [Manage collaborators](https://gemfury.com/help/gemfury-cli#collaboration)
|
25
25
|
|
26
26
|
### Putting Gemfury to work
|
27
|
-
* [Install private RubyGems](
|
28
|
-
* [Install private
|
29
|
-
* [Install private
|
30
|
-
* [
|
31
|
-
|
27
|
+
* [Install private RubyGems](https://gemfury.com/help/install-gems)
|
28
|
+
* [Install private NPM modules](https://gemfury.com/help/npm-registry)
|
29
|
+
* [Install private Python packages](https://gemfury.com/help/pypi-server)
|
30
|
+
* [Install private Composer packages](https://gemfury.com/help/php-composer-server)
|
31
|
+
* [Private RubyGems on Heroku](https://gemfury.com/help/private-gems-on-heroku)
|
32
32
|
|
33
33
|
## Contribution and Improvements
|
34
34
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# This is a Faraday adapter that bypasses Faraday's response body
|
2
|
+
# processing and streams body to STDOUT for text requests
|
3
|
+
|
4
|
+
class Faraday::Adapter
|
5
|
+
class FuryHttp < NetHttp
|
6
|
+
def perform_request(http, env)
|
7
|
+
accept = env.request_headers['Accept']
|
8
|
+
return super if accept !~ /text\z/
|
9
|
+
|
10
|
+
# Stream response body to STDOUT on success
|
11
|
+
http.request(create_request(env)) do |resp|
|
12
|
+
unless resp.is_a?(Net::HTTPSuccess)
|
13
|
+
resp.body # Cache error body
|
14
|
+
else
|
15
|
+
resp.read_body do |chunk|
|
16
|
+
$stdout.print(chunk)
|
17
|
+
$stdout.flush
|
18
|
+
end
|
19
|
+
|
20
|
+
# Prevent #body from calling #read_body again
|
21
|
+
klass = (class << resp; self; end)
|
22
|
+
klass.send(:define_method, :body) { nil }
|
23
|
+
end
|
24
|
+
|
25
|
+
# Return response to NetHttp adapter
|
26
|
+
return resp
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
register_middleware(:fury_http => FuryHttp)
|
32
|
+
end
|
data/lib/gemfury.rb
CHANGED
data/lib/gemfury/client.rb
CHANGED
@@ -104,6 +104,13 @@ module Gemfury
|
|
104
104
|
checked_response_body(response)
|
105
105
|
end
|
106
106
|
|
107
|
+
# Update repository name and settings
|
108
|
+
def git_update(repo, options = {})
|
109
|
+
ensure_ready!(:authorization)
|
110
|
+
response = connection.patch(git_repo_path(repo), options)
|
111
|
+
checked_response_body(response)
|
112
|
+
end
|
113
|
+
|
107
114
|
# Reset repository to initial state
|
108
115
|
def git_reset(repo, options = {})
|
109
116
|
ensure_ready!(:authorization)
|
@@ -111,6 +118,14 @@ module Gemfury
|
|
111
118
|
checked_response_body(response)
|
112
119
|
end
|
113
120
|
|
121
|
+
# Rebuild Git repository package
|
122
|
+
def git_rebuild(repo, options = {})
|
123
|
+
ensure_ready!(:authorization)
|
124
|
+
url = "#{git_repo_path(repo)}/builds"
|
125
|
+
api = connection(:api_format => :text)
|
126
|
+
checked_response_body(api.post(url, options))
|
127
|
+
end
|
128
|
+
|
114
129
|
private
|
115
130
|
def escape(str)
|
116
131
|
CGI.escape(str)
|
@@ -125,7 +140,8 @@ module Gemfury
|
|
125
140
|
# The 'Accept' HTTP header for API versioning
|
126
141
|
http_accept = begin
|
127
142
|
v = options.delete(:api_version) || self.api_version
|
128
|
-
|
143
|
+
f = options.delete(:api_format) || :json
|
144
|
+
"application/vnd.fury.v#{v.to_i}+#{f}"
|
129
145
|
end
|
130
146
|
|
131
147
|
# Faraday client options
|
@@ -153,7 +169,7 @@ module Gemfury
|
|
153
169
|
builder.use Faraday::Request::UrlEncoded
|
154
170
|
builder.use ParseJson
|
155
171
|
builder.use Handle503
|
156
|
-
builder.adapter :
|
172
|
+
builder.adapter :fury_http
|
157
173
|
end
|
158
174
|
end
|
159
175
|
|
data/lib/gemfury/command/app.rb
CHANGED
@@ -143,8 +143,10 @@ class Gemfury::Command::App < Thor
|
|
143
143
|
end
|
144
144
|
|
145
145
|
### GIT REPOSITORY MANAGEMENT ###
|
146
|
-
map "git:list"
|
147
|
-
map "git:reset"
|
146
|
+
map "git:list" => 'git_list'
|
147
|
+
map "git:reset" => 'git_reset'
|
148
|
+
map "git:rename" => 'git_rename'
|
149
|
+
map "git:rebuild" => 'git_rebuild'
|
148
150
|
|
149
151
|
desc "git:list", "List Git repositories"
|
150
152
|
def git_list
|
@@ -156,6 +158,14 @@ class Gemfury::Command::App < Thor
|
|
156
158
|
end
|
157
159
|
end
|
158
160
|
|
161
|
+
desc "git:rename", "Rename a Git repository"
|
162
|
+
def git_rename(repo, new_name)
|
163
|
+
with_checks_and_rescues do
|
164
|
+
client.git_update(repo, :repo => { :name => new_name })
|
165
|
+
shell.say "Renamed #{repo} repository to #{new_name}\n"
|
166
|
+
end
|
167
|
+
end
|
168
|
+
|
159
169
|
desc "git:reset", "Remove a Git repository"
|
160
170
|
def git_reset(repo)
|
161
171
|
with_checks_and_rescues do
|
@@ -164,6 +174,14 @@ class Gemfury::Command::App < Thor
|
|
164
174
|
end
|
165
175
|
end
|
166
176
|
|
177
|
+
desc "git:rebuild", "Rebuild a Git repository"
|
178
|
+
def git_rebuild(repo)
|
179
|
+
with_checks_and_rescues do
|
180
|
+
shell.say "\n*** Rebuilding #{repo} repository ***\n\n"
|
181
|
+
shell.say client.git_rebuild(repo)
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
167
185
|
private
|
168
186
|
def client
|
169
187
|
opts = {}
|
data/lib/gemfury/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gemfury
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Rykov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-07-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- README.md
|
106
106
|
- bin/fury
|
107
107
|
- bin/gemfury
|
108
|
+
- lib/faraday/adapter/fury_http.rb
|
108
109
|
- lib/faraday/request/multipart_with_file.rb
|
109
110
|
- lib/gemfury.rb
|
110
111
|
- lib/gemfury/client.rb
|
@@ -141,9 +142,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
142
|
version: '0'
|
142
143
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
144
|
requirements:
|
144
|
-
- - ! '
|
145
|
+
- - ! '>'
|
145
146
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
147
|
+
version: 1.3.1
|
147
148
|
requirements: []
|
148
149
|
rubyforge_project:
|
149
150
|
rubygems_version: 2.4.6
|