tomo 1.9.0 → 1.10.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/commands/init.rb +3 -3
- data/lib/tomo/configuration/plugins_registry/file_resolver.rb +1 -1
- data/lib/tomo/configuration/role_based_task_filter.rb +2 -2
- data/lib/tomo/configuration/unknown_plugin_error.rb +1 -1
- data/lib/tomo/configuration.rb +1 -1
- data/lib/tomo/console/menu.rb +1 -1
- data/lib/tomo/task_api.rb +1 -1
- data/lib/tomo/templates/config.rb.erb +1 -0
- data/lib/tomo/testing/systemctl.rb +2 -2
- data/lib/tomo/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05ddcb1e5cb7af61721270c94830cd0140881d4fd85ba97078994cafe8edb3ee
|
4
|
+
data.tar.gz: 6df6ad8b97fd3121b9becaa94682fd5e1c4fe8831903c0aafbfa5d1e91f9075b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a618b9ba648758197a7f593b89594f24d75435ddebf624c5e9bacdc573966e41e9161c833e1897610da79d385881f3d8c0f7bad8ac0957c02accfe00d5f757a8
|
7
|
+
data.tar.gz: 0f007ba2ac69941daca0c619adcaba2b4d97af924781c6fc29cff7a368a2206572f4fc93f1bf2f103accdab694c7427ec2d5d1b87b05277f8853b0c39c75961c
|
data/lib/tomo/commands/init.rb
CHANGED
@@ -35,7 +35,7 @@ module Tomo
|
|
35
35
|
# TODO: use a template for this file
|
36
36
|
FileUtils.touch(".tomo/plugins/#{app}.rb")
|
37
37
|
|
38
|
-
|
38
|
+
File.write(DEFAULT_CONFIG_PATH, config_rb_template(app))
|
39
39
|
|
40
40
|
logger.info(green("✔ Created #{DEFAULT_CONFIG_PATH}"))
|
41
41
|
end
|
@@ -99,14 +99,14 @@ module Tomo
|
|
99
99
|
def using_ruby_version_file?
|
100
100
|
return false unless File.exist?(".ruby-version")
|
101
101
|
|
102
|
-
|
102
|
+
File.read(".ruby-version").rstrip == RUBY_VERSION
|
103
103
|
rescue IOError
|
104
104
|
false
|
105
105
|
end
|
106
106
|
|
107
107
|
def config_rb_template(app)
|
108
108
|
path = File.expand_path("../templates/config.rb.erb", __dir__)
|
109
|
-
template =
|
109
|
+
template = File.read(path)
|
110
110
|
ERB.new(template, trim_mode: "-").result(binding)
|
111
111
|
end
|
112
112
|
end
|
@@ -13,7 +13,7 @@ module Tomo
|
|
13
13
|
raise_file_not_found(path) unless File.file?(path)
|
14
14
|
|
15
15
|
Tomo.logger.debug("Loading plugin from #{path.inspect}")
|
16
|
-
script =
|
16
|
+
script = File.read(path)
|
17
17
|
plugin = define_anonymous_plugin_class
|
18
18
|
plugin.class_eval(script, path.to_s, 1)
|
19
19
|
|
@@ -20,7 +20,7 @@ module Tomo
|
|
20
20
|
|
21
21
|
def filter(tasks, host:)
|
22
22
|
roles = host.roles
|
23
|
-
roles =
|
23
|
+
roles = [""] if roles.empty?
|
24
24
|
tasks.select do |task|
|
25
25
|
roles.any? { |role| match?(task, role) }
|
26
26
|
end
|
@@ -31,7 +31,7 @@ module Tomo
|
|
31
31
|
attr_reader :globs
|
32
32
|
|
33
33
|
def match?(task, role)
|
34
|
-
task_globs = globs.keys.select { |glob| glob.match?(task) }
|
34
|
+
task_globs = globs.keys.select { |glob| glob.match?(task) } # rubocop:disable Style/SelectByRegexp
|
35
35
|
return true if task_globs.empty?
|
36
36
|
|
37
37
|
roles = globs.values_at(*task_globs).flatten
|
@@ -30,7 +30,7 @@ module Tomo
|
|
30
30
|
def present_in_gemfile?
|
31
31
|
return false unless File.file?("Gemfile")
|
32
32
|
|
33
|
-
|
33
|
+
File.read("Gemfile").match?(/^\s*gem ['"]#{Regexp.quote(gem_name)}['"]/)
|
34
34
|
rescue IOError
|
35
35
|
false
|
36
36
|
end
|
data/lib/tomo/configuration.rb
CHANGED
@@ -14,7 +14,7 @@ module Tomo
|
|
14
14
|
def self.from_config_rb(path=DEFAULT_CONFIG_PATH)
|
15
15
|
ProjectNotFoundError.raise_with(path: path) unless File.file?(path)
|
16
16
|
Tomo.logger.debug("Loading configuration from #{path.inspect}")
|
17
|
-
config_rb =
|
17
|
+
config_rb = File.read(path)
|
18
18
|
|
19
19
|
new.tap do |config|
|
20
20
|
config.path = File.expand_path(path)
|
data/lib/tomo/console/menu.rb
CHANGED
@@ -98,7 +98,7 @@ module Tomo
|
|
98
98
|
def visible_range
|
99
99
|
max_visible = [8, options.length].min
|
100
100
|
|
101
|
-
offset = [0, position - max_visible / 2].max
|
101
|
+
offset = [0, position - (max_visible / 2)].max
|
102
102
|
adjusted_offset = [offset, options.length - max_visible].min
|
103
103
|
|
104
104
|
adjusted_offset...(adjusted_offset + max_visible)
|
data/lib/tomo/task_api.rb
CHANGED
@@ -25,7 +25,7 @@ module Tomo
|
|
25
25
|
path = File.expand_path(path, working_path) if working_path && path.start_with?(".")
|
26
26
|
|
27
27
|
Runtime::TemplateNotFoundError.raise_with(path: path) unless File.file?(path)
|
28
|
-
template =
|
28
|
+
template = File.read(path)
|
29
29
|
ERB.new(template).result(binding)
|
30
30
|
end
|
31
31
|
|
@@ -63,9 +63,9 @@ class Unit
|
|
63
63
|
def self.find(name)
|
64
64
|
path = File.join(File.expand_path("~/.config/systemd/user/"), name)
|
65
65
|
raise "Unknown unit: #{name}" unless File.file?(path)
|
66
|
-
return Service.new(name,
|
66
|
+
return Service.new(name, File.read(path)) if name.end_with?(".service")
|
67
67
|
|
68
|
-
new(name,
|
68
|
+
new(name, File.read(path))
|
69
69
|
end
|
70
70
|
|
71
71
|
def initialize(name, spec)
|
data/lib/tomo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tomo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Brictson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-13 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Tomo is a feature-rich deployment tool that contains everything you need
|
14
14
|
to deploy a basic Rails app out of the box. It has an opinionated, production-tested
|
@@ -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: 3.2.
|
191
|
+
rubygems_version: 3.2.26
|
192
192
|
signing_key:
|
193
193
|
specification_version: 4
|
194
194
|
summary: A friendly CLI for deploying Rails apps ✨
|