gemfury 0.12.0.rc1 → 0.12.0.rc2
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 +4 -4
- data/bin/fury +4 -0
- data/lib/faraday/request/multipart_with_file.rb +19 -3
- data/lib/gemfury/command/app.rb +9 -6
- data/lib/gemfury/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e6949b37b97e02f4d02cc09710a8f29c7bb73bc0cf11202e973472caeb304abb
|
4
|
+
data.tar.gz: 56f2d03905bb253df4aface03aeb4b2fb197c8cfd1078e5cb049653c23d30eb3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b69e76e7cb6f0d3648d8f493c96e4f15c13b05d03d38a51021bbe20524e83f3eb5895cb15f049a6727d42b8908f78e62a7fd70af7b1041c5afcca0bcc49ad6f0
|
7
|
+
data.tar.gz: 3d2bbef2c9c9517db2a9b9ddc865baee2a8fa0929cedf9fb6450a945d9f6244923ef19708ba8ff0843063d099263ef63210662f7315329612b3f2f8ae33a942f
|
data/bin/fury
CHANGED
@@ -5,10 +5,23 @@ module Faraday
|
|
5
5
|
# @private
|
6
6
|
class Request::MultipartWithFile < Faraday::Middleware
|
7
7
|
def call(env)
|
8
|
+
|
8
9
|
if env[:body].is_a?(Hash)
|
10
|
+
|
11
|
+
# Check for IO (and IO-like objects, like Zip::InputStream) in the request,
|
12
|
+
# which represent data to be uploaded. Replace these with Faraday
|
9
13
|
env[:body].each do |key, value|
|
10
|
-
|
11
|
-
|
14
|
+
|
15
|
+
# Faraday seems to expect a few IO methods to be available, but that's all:
|
16
|
+
# https://github.com/lostisland/faraday/blob/master/lib/faraday/file_part.rb
|
17
|
+
# :length seems to be an optional one
|
18
|
+
#
|
19
|
+
# UploadIO also seems to do a duck typing check for :read, with :path optional
|
20
|
+
# https://www.rubydoc.info/gems/multipart-post/2.0.0/UploadIO:initialize
|
21
|
+
#
|
22
|
+
# We attempt to make our duck typing compatible with their duck typing
|
23
|
+
if value.respond_to?(:read) && value.respond_to?(:rewind) && value.respond_to?(:close)
|
24
|
+
env[:body][key] = Faraday::UploadIO.new(value, mime_type(value))
|
12
25
|
end
|
13
26
|
end
|
14
27
|
end
|
@@ -19,6 +32,9 @@ module Faraday
|
|
19
32
|
private
|
20
33
|
|
21
34
|
def mime_type(file)
|
35
|
+
default = 'application/octet-stream'
|
36
|
+
return default unless file.respond_to?(:path)
|
37
|
+
|
22
38
|
case file.path
|
23
39
|
when /\.jpe?g/i
|
24
40
|
'image/jpeg'
|
@@ -27,7 +43,7 @@ module Faraday
|
|
27
43
|
when /\.png$/i
|
28
44
|
'image/png'
|
29
45
|
else
|
30
|
-
|
46
|
+
default
|
31
47
|
end
|
32
48
|
end
|
33
49
|
end
|
data/lib/gemfury/command/app.rb
CHANGED
@@ -10,6 +10,9 @@ class Gemfury::Command::App < Thor
|
|
10
10
|
class_option :as, :desc => 'Access an account other than your own'
|
11
11
|
class_option :api_token, :desc => 'API token to use for commands'
|
12
12
|
|
13
|
+
# Make sure we retain the default exit behaviour of 0 even on argument errors
|
14
|
+
def self.exit_on_failure?; false; end
|
15
|
+
|
13
16
|
map "-v" => :version
|
14
17
|
desc "version", "Show Gemfury version", :hide => true
|
15
18
|
def version
|
@@ -198,7 +201,7 @@ class Gemfury::Command::App < Thor
|
|
198
201
|
end
|
199
202
|
end
|
200
203
|
|
201
|
-
desc "git:rename", "Rename a Git repository"
|
204
|
+
desc "git:rename REPO_NAME NEW_NAME", "Rename a Git repository"
|
202
205
|
def git_rename(repo, new_name)
|
203
206
|
with_checks_and_rescues do
|
204
207
|
client.git_update(repo, :repo => { :name => new_name })
|
@@ -206,7 +209,7 @@ class Gemfury::Command::App < Thor
|
|
206
209
|
end
|
207
210
|
end
|
208
211
|
|
209
|
-
desc "git:reset", "Remove a Git repository"
|
212
|
+
desc "git:reset REPO_NAME", "Remove a Git repository"
|
210
213
|
def git_reset(repo)
|
211
214
|
with_checks_and_rescues do
|
212
215
|
client.git_reset(repo)
|
@@ -214,7 +217,7 @@ class Gemfury::Command::App < Thor
|
|
214
217
|
end
|
215
218
|
end
|
216
219
|
|
217
|
-
desc "git:rebuild", "Rebuild a Git repository"
|
220
|
+
desc "git:rebuild REPO_NAME", "Rebuild a Git repository"
|
218
221
|
method_options %w(revision -r) => :string
|
219
222
|
def git_rebuild(repo)
|
220
223
|
with_checks_and_rescues do
|
@@ -229,7 +232,7 @@ class Gemfury::Command::App < Thor
|
|
229
232
|
map 'git:config:set' => 'git_config_set'
|
230
233
|
map 'git:config:unset' => 'git_config_unset'
|
231
234
|
|
232
|
-
desc "git:config", "List Git repository's build environment"
|
235
|
+
desc "git:config REPO_NAME", "List Git repository's build environment"
|
233
236
|
def git_config(repo)
|
234
237
|
with_checks_and_rescues do
|
235
238
|
vars = client.git_config(repo)['config_vars']
|
@@ -240,7 +243,7 @@ class Gemfury::Command::App < Thor
|
|
240
243
|
end
|
241
244
|
end
|
242
245
|
|
243
|
-
desc "git:config:set", "Update Git repository's build environment"
|
246
|
+
desc "git:config:set REPO_NAME KEY=VALUE ...", "Update Git repository's build environment"
|
244
247
|
def git_config_set(repo, *vars)
|
245
248
|
with_checks_and_rescues do
|
246
249
|
updates = Hash[vars.map { |v| v.split("=", 2) }]
|
@@ -249,7 +252,7 @@ class Gemfury::Command::App < Thor
|
|
249
252
|
end
|
250
253
|
end
|
251
254
|
|
252
|
-
desc "git:config:unset", "Remove variables from Git repository's build environment"
|
255
|
+
desc "git:config:unset REPO_NAME KEY ...", "Remove variables from Git repository's build environment"
|
253
256
|
def git_config_unset(repo, *vars)
|
254
257
|
with_checks_and_rescues do
|
255
258
|
updates = Hash[vars.map { |v| [v, nil] }]
|
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.12.0.
|
4
|
+
version: 0.12.0.rc2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Rykov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|