tomo 1.21.2 → 1.22.0
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/lib/tomo/cli/common_options.rb +3 -0
- data/lib/tomo/logger.rb +8 -0
- data/lib/tomo/plugin/rails/tasks.rb +4 -0
- data/lib/tomo/runtime/settings_interpolation.rb +13 -2
- data/lib/tomo/task_api.rb +4 -0
- data/lib/tomo/testing/cli_tester.rb +1 -0
- data/lib/tomo/version.rb +1 -1
- data/lib/tomo.rb +6 -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: 37bdfaccc033913ce90f1f6efe579494272950799a735339e5f1ef17c4d10ce1
|
|
4
|
+
data.tar.gz: e88924edaee4847ca1656dfe0381c275ef04d9d0f8ecd09499a5b98e0c71c211
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3ef5995f18228bb9c1631d89f88bbd63258f193c51a3ce40d506b5d56e4d9b4f2c5d030eef211db57ca81d57d4350f360e94ffb8979e00105c42ad8a644cfa7f
|
|
7
|
+
data.tar.gz: '08eac8929502a70fdb7c4696b875a3ab58cd25783990bb5d2bcff124aff251b59330394063a8c0277dc28b937e1a270f96107e6169efd5824609b9af7a798f21'
|
|
@@ -11,6 +11,9 @@ module Tomo
|
|
|
11
11
|
option :debug, "--[no-]debug", "Enable/disable verbose debug logging" do |debug|
|
|
12
12
|
Tomo.debug = debug
|
|
13
13
|
end
|
|
14
|
+
option :quiet, "--[no-]quiet", "Silence all progress output" do |quiet|
|
|
15
|
+
Tomo.quiet = quiet
|
|
16
|
+
end
|
|
14
17
|
option :trace, "--[no-]trace", "Display full backtrace on error" do |trace|
|
|
15
18
|
CLI.show_backtrace = trace
|
|
16
19
|
end
|
data/lib/tomo/logger.rb
CHANGED
|
@@ -15,6 +15,7 @@ module Tomo
|
|
|
15
15
|
end
|
|
16
16
|
|
|
17
17
|
def script_start(script)
|
|
18
|
+
return if Tomo.quiet?
|
|
18
19
|
return unless script.echo?
|
|
19
20
|
|
|
20
21
|
puts yellow(script.echo_string)
|
|
@@ -27,6 +28,7 @@ module Tomo
|
|
|
27
28
|
end
|
|
28
29
|
|
|
29
30
|
def script_end(script, result)
|
|
31
|
+
return if Tomo.quiet?
|
|
30
32
|
return unless result.failure?
|
|
31
33
|
return unless script.silent?
|
|
32
34
|
return unless script.raise_on_error?
|
|
@@ -35,14 +37,20 @@ module Tomo
|
|
|
35
37
|
end
|
|
36
38
|
|
|
37
39
|
def connect(host)
|
|
40
|
+
return if Tomo.quiet?
|
|
41
|
+
|
|
38
42
|
puts gray("→ Connecting to #{host}")
|
|
39
43
|
end
|
|
40
44
|
|
|
41
45
|
def task_start(task)
|
|
46
|
+
return if Tomo.quiet?
|
|
47
|
+
|
|
42
48
|
puts blue("• #{task}")
|
|
43
49
|
end
|
|
44
50
|
|
|
45
51
|
def info(message)
|
|
52
|
+
return if Tomo.quiet?
|
|
53
|
+
|
|
46
54
|
puts message
|
|
47
55
|
end
|
|
48
56
|
|
|
@@ -10,6 +10,10 @@ module Tomo::Plugin::Rails
|
|
|
10
10
|
remote.rails("console", settings[:run_args], attach: true)
|
|
11
11
|
end
|
|
12
12
|
|
|
13
|
+
def query
|
|
14
|
+
remote.rails("query", settings[:run_args], attach: true)
|
|
15
|
+
end
|
|
16
|
+
|
|
13
17
|
def db_console
|
|
14
18
|
remote.rails("dbconsole", "--include-password", settings[:run_args], attach: true)
|
|
15
19
|
end
|
|
@@ -23,11 +23,22 @@ module Tomo
|
|
|
23
23
|
|
|
24
24
|
def fetch(name, stack=[])
|
|
25
25
|
raise_circular_dependency_error(name, stack) if stack.include?(name)
|
|
26
|
+
|
|
27
|
+
stack += [name]
|
|
26
28
|
value = settings.fetch(name)
|
|
27
|
-
return value unless value.is_a?(String)
|
|
28
29
|
|
|
30
|
+
if value.is_a?(String)
|
|
31
|
+
interpolate_string(value, stack)
|
|
32
|
+
elsif value.is_a?(Hash)
|
|
33
|
+
value.transform_values { |v| v.is_a?(String) ? interpolate_string(v, stack) : v }
|
|
34
|
+
else
|
|
35
|
+
value
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def interpolate_string(value, stack)
|
|
29
40
|
value.gsub(/%{(\w+)}/) do
|
|
30
|
-
fetch(Regexp.last_match[1].to_sym, stack
|
|
41
|
+
fetch(Regexp.last_match[1].to_sym, stack)
|
|
31
42
|
end
|
|
32
43
|
end
|
|
33
44
|
|
data/lib/tomo/task_api.rb
CHANGED
data/lib/tomo/version.rb
CHANGED
data/lib/tomo.rb
CHANGED
|
@@ -27,7 +27,7 @@ module Tomo
|
|
|
27
27
|
|
|
28
28
|
class << self
|
|
29
29
|
attr_accessor :logger
|
|
30
|
-
attr_writer :debug, :dry_run
|
|
30
|
+
attr_writer :debug, :dry_run, :quiet
|
|
31
31
|
|
|
32
32
|
def debug?
|
|
33
33
|
!!@debug
|
|
@@ -37,6 +37,10 @@ module Tomo
|
|
|
37
37
|
!!@dry_run
|
|
38
38
|
end
|
|
39
39
|
|
|
40
|
+
def quiet?
|
|
41
|
+
!!@quiet
|
|
42
|
+
end
|
|
43
|
+
|
|
40
44
|
def bundled?
|
|
41
45
|
!!(defined?(Bundler) && ENV["BUNDLE_GEMFILE"])
|
|
42
46
|
end
|
|
@@ -44,5 +48,6 @@ module Tomo
|
|
|
44
48
|
|
|
45
49
|
self.debug = false
|
|
46
50
|
self.dry_run = false
|
|
51
|
+
self.quiet = false
|
|
47
52
|
self.logger = Logger.new
|
|
48
53
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tomo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.22.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Matt Brictson
|
|
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
188
188
|
- !ruby/object:Gem::Version
|
|
189
189
|
version: '0'
|
|
190
190
|
requirements: []
|
|
191
|
-
rubygems_version: 4.0.
|
|
191
|
+
rubygems_version: 4.0.6
|
|
192
192
|
specification_version: 4
|
|
193
193
|
summary: A friendly CLI for deploying Rails apps ✨
|
|
194
194
|
test_files: []
|