bootic_cli 0.4.7 → 0.4.8
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 +5 -5
- data/bin/bootic +0 -0
- data/lib/bootic_cli/themes/api_theme.rb +24 -4
- data/lib/bootic_cli/themes/mem_theme.rb +5 -5
- data/lib/bootic_cli/themes/workflows.rb +2 -2
- data/lib/bootic_cli/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cd67c5e244fa152afde49d0ded817c9733d6ce640aee72c14854f635566e0a43
|
4
|
+
data.tar.gz: 51b29bf4e75a6f597887198fbdfa66df41301370f2a3169de0f4bcba363b755b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e6094bca75a4a68b4a94a80180e543fdae6286612a8697fb66662821e896b3b4008ed2abb0a62c4ea89c64f0346b3efe8a57ac583467151d359531b708ffff5
|
7
|
+
data.tar.gz: 1e32cc79ee74403371a7b5daeecc6355a32db967559701f7d262b5509baea3d74c4a5a0224c1dec395063a00e97850aeebbf85023d9266e4ceaa0aae47144988
|
data/bin/bootic
CHANGED
File without changes
|
@@ -14,17 +14,37 @@ module BooticCli
|
|
14
14
|
end
|
15
15
|
|
16
16
|
class APIAsset < ItemWithTime
|
17
|
+
REQUEST_OPTS = {
|
18
|
+
open_timeout: 5,
|
19
|
+
read_timeout: 5
|
20
|
+
}
|
21
|
+
|
17
22
|
def file
|
18
|
-
@file ||= (
|
19
|
-
data = Net::HTTP.get(URI.parse(rels[:file].href))
|
20
|
-
StringIO.new(data)
|
21
|
-
)
|
23
|
+
@file ||= StringIO.new(fetch_data)
|
22
24
|
end
|
23
25
|
|
24
26
|
def ==(other)
|
25
27
|
return super if digest.to_s == '' || other.digest.to_s == ''
|
26
28
|
self.file_size == other.file_size && self.digest == other.digest
|
27
29
|
end
|
30
|
+
|
31
|
+
def fetch_data(attempt = 1)
|
32
|
+
uri = URI.parse(rels[:file].href)
|
33
|
+
opts = REQUEST_OPTS.merge({
|
34
|
+
# verify_mode: OpenSSL::SSL::VERIFY_PEER # OpenSSL::SSL::VERIFY_NONE
|
35
|
+
use_ssl: uri.port == 443
|
36
|
+
})
|
37
|
+
|
38
|
+
Net::HTTP.start(uri.host, uri.port, opts) do |http|
|
39
|
+
resp = http.get(uri.path)
|
40
|
+
raise "Invalid response: #{resp.code}" unless resp.code.to_i == 200
|
41
|
+
resp.body
|
42
|
+
end
|
43
|
+
rescue Net::OpenTimeout, Net::ReadTimeout => e
|
44
|
+
raise if attempt > 3 # max attempts
|
45
|
+
# puts "#{e.class} for #{File.basename(uri.path)}! Retrying request..."
|
46
|
+
fetch_data(attempt + 1)
|
47
|
+
end
|
28
48
|
end
|
29
49
|
|
30
50
|
class APITheme
|
@@ -2,7 +2,7 @@ module BooticCli
|
|
2
2
|
module Themes
|
3
3
|
class MemTheme
|
4
4
|
Template = Struct.new(:file_name, :body, :updated_on)
|
5
|
-
ThemeAsset = Struct.new(:file_name, :file, :updated_on)
|
5
|
+
ThemeAsset = Struct.new(:file_name, :file, :updated_on, :file_size)
|
6
6
|
|
7
7
|
def initialize
|
8
8
|
reload!
|
@@ -26,7 +26,7 @@ module BooticCli
|
|
26
26
|
|
27
27
|
def add_template(file_name, body, mtime: Time.now)
|
28
28
|
tpl = Template.new(file_name, body, mtime)
|
29
|
-
if idx = templates.index{|t| t.file_name == file_name }
|
29
|
+
if idx = templates.index { |t| t.file_name == file_name }
|
30
30
|
templates[idx] = tpl
|
31
31
|
else
|
32
32
|
templates << tpl
|
@@ -34,14 +34,14 @@ module BooticCli
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def remove_template(file_name)
|
37
|
-
if idx = templates.index{|t| t.file_name == file_name }
|
37
|
+
if idx = templates.index { |t| t.file_name == file_name }
|
38
38
|
templates.delete_at idx
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
42
|
def add_asset(file_name, file, mtime: Time.now)
|
43
43
|
asset = ThemeAsset.new(file_name, file, mtime)
|
44
|
-
if idx = assets.index{|t| t.file_name == file_name }
|
44
|
+
if idx = assets.index { |t| t.file_name == file_name }
|
45
45
|
assets[idx] = asset
|
46
46
|
else
|
47
47
|
assets << asset
|
@@ -49,7 +49,7 @@ module BooticCli
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def remove_asset(file_name)
|
52
|
-
if idx = assets.index{|t| t.file_name == file_name }
|
52
|
+
if idx = assets.index { |t| t.file_name == file_name }
|
53
53
|
assets.delete_at idx
|
54
54
|
end
|
55
55
|
end
|
@@ -274,7 +274,7 @@ module BooticCli
|
|
274
274
|
def copy_templates(from, to, opts = {})
|
275
275
|
from.templates.each do |t|
|
276
276
|
to.add_template t.file_name, t.body
|
277
|
-
puts "Copied #{t.file_name}"
|
277
|
+
puts "Copied #{highlight(t.file_name)}"
|
278
278
|
end
|
279
279
|
end
|
280
280
|
|
@@ -297,7 +297,7 @@ module BooticCli
|
|
297
297
|
files.each do |a|
|
298
298
|
pool.schedule do
|
299
299
|
to.add_asset a.file_name, a.file
|
300
|
-
puts "Copied asset #{a.file_name}"
|
300
|
+
puts "Copied asset #{highlight(a.file_name)} (#{a.file_size} bytes)"
|
301
301
|
end
|
302
302
|
end
|
303
303
|
|
data/lib/bootic_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootic_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ismael Celis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -199,7 +199,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
199
|
version: '0'
|
200
200
|
requirements: []
|
201
201
|
rubyforge_project:
|
202
|
-
rubygems_version: 2.
|
202
|
+
rubygems_version: 2.7.3
|
203
203
|
signing_key:
|
204
204
|
specification_version: 4
|
205
205
|
summary: Bootic command-line client.
|