ruby_fly 0.40.0.pre.3 → 0.40.0.pre.5
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/Gemfile.lock +111 -72
- data/Rakefile +1 -3
- data/lib/ruby_fly/commands/base.rb +94 -20
- data/lib/ruby_fly/commands/destroy_pipeline.rb +8 -8
- data/lib/ruby_fly/commands/get_pipeline.rb +4 -4
- data/lib/ruby_fly/commands/login.rb +7 -7
- data/lib/ruby_fly/commands/mixins/environment.rb +4 -4
- data/lib/ruby_fly/commands/mixins/required_params.rb +7 -7
- data/lib/ruby_fly/commands/set_pipeline.rb +9 -9
- data/lib/ruby_fly/commands/status.rb +14 -20
- data/lib/ruby_fly/commands/unpause_pipeline.rb +5 -5
- data/lib/ruby_fly/commands/version.rb +8 -8
- data/lib/ruby_fly/rc.rb +2 -2
- data/lib/ruby_fly/version.rb +1 -1
- data/lib/ruby_fly.rb +1 -1
- data/ruby_fly.gemspec +7 -4
- metadata +54 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7085daa7a409ae5b4301901607937f845c8bbb5d33376634c0cd470fc771b36c
|
4
|
+
data.tar.gz: c528f7720ed3055571eecfd7712cc2b9c50a814fa99c775995d081888ad075f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13596da5ab82b0031be0de4832ae502c852d34e17546148b71177474cfc748d4bec6fcf0b8d54fd11da5dcac89ec8b28ecefa157a880d5b342f573b6dc2cf4e9
|
7
|
+
data.tar.gz: 5d64c42f89490067e0af69bd5d1abf20898d0d5b9ea1468486caf148b4dec267e771f130d573a6a28562407196d84bc47bf50a69cfcebb08c7102acdc7424093
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ruby_fly (0.40.0.pre.
|
5
|
-
lino (
|
4
|
+
ruby_fly (0.40.0.pre.5)
|
5
|
+
lino (>= 4.1.0.pre.1)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activesupport (7.1.
|
10
|
+
activesupport (7.1.3.4)
|
11
11
|
base64
|
12
12
|
bigdecimal
|
13
13
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
@@ -17,55 +17,89 @@ GEM
|
|
17
17
|
minitest (>= 5.1)
|
18
18
|
mutex_m
|
19
19
|
tzinfo (~> 2.0)
|
20
|
-
addressable (2.8.
|
21
|
-
public_suffix (>= 2.0.2, <
|
20
|
+
addressable (2.8.7)
|
21
|
+
public_suffix (>= 2.0.2, < 7.0)
|
22
22
|
ast (2.4.2)
|
23
|
-
base64 (0.
|
24
|
-
bigdecimal (3.1.
|
23
|
+
base64 (0.2.0)
|
24
|
+
bigdecimal (3.1.8)
|
25
|
+
childprocess (5.0.0)
|
26
|
+
coderay (1.1.3)
|
25
27
|
colored2 (3.1.2)
|
26
|
-
concurrent-ruby (1.
|
28
|
+
concurrent-ruby (1.3.3)
|
27
29
|
connection_pool (2.4.1)
|
28
|
-
diff-lcs (1.5.
|
30
|
+
diff-lcs (1.5.1)
|
29
31
|
docile (1.4.0)
|
30
|
-
drb (2.
|
31
|
-
|
32
|
-
excon (0.104.0)
|
32
|
+
drb (2.2.1)
|
33
|
+
excon (0.111.0)
|
33
34
|
fakefs (2.5.0)
|
34
|
-
faker (3.
|
35
|
+
faker (3.4.1)
|
35
36
|
i18n (>= 1.8.11, < 2)
|
36
|
-
faraday (2.
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
faraday (2.10.0)
|
38
|
+
faraday-net_http (>= 2.0, < 3.2)
|
39
|
+
logger
|
40
|
+
faraday-net_http (3.1.0)
|
41
|
+
net-http
|
42
|
+
ffi (1.17.0)
|
43
|
+
formatador (1.1.0)
|
41
44
|
gem-release (2.2.2)
|
42
|
-
git (1.
|
45
|
+
git (1.19.1)
|
43
46
|
addressable (~> 2.8)
|
44
47
|
rchardet (~> 1.8)
|
48
|
+
guard (2.18.1)
|
49
|
+
formatador (>= 0.2.4)
|
50
|
+
listen (>= 2.7, < 4.0)
|
51
|
+
lumberjack (>= 1.0.12, < 2.0)
|
52
|
+
nenv (~> 0.1)
|
53
|
+
notiffany (~> 0.0)
|
54
|
+
pry (>= 0.13.0)
|
55
|
+
shellany (~> 0.0)
|
56
|
+
thor (>= 0.18.1)
|
57
|
+
guard-compat (1.2.1)
|
58
|
+
guard-rspec (4.7.3)
|
59
|
+
guard (~> 2.1)
|
60
|
+
guard-compat (~> 1.1)
|
61
|
+
rspec (>= 2.99.0, < 4.0)
|
45
62
|
hamster (3.0.0)
|
46
63
|
concurrent-ruby (~> 1.0)
|
47
|
-
i18n (1.14.
|
64
|
+
i18n (1.14.5)
|
48
65
|
concurrent-ruby (~> 1.0)
|
49
66
|
immutable-struct (2.4.1)
|
50
|
-
json (2.
|
67
|
+
json (2.7.2)
|
51
68
|
language_server-protocol (3.17.0.3)
|
52
|
-
lino (
|
69
|
+
lino (4.1.0.pre.1)
|
70
|
+
childprocess (~> 5.0.0)
|
53
71
|
hamster (~> 3.0)
|
54
72
|
open4 (~> 1.3)
|
55
|
-
|
56
|
-
|
57
|
-
|
73
|
+
listen (3.9.0)
|
74
|
+
rb-fsevent (~> 0.10, >= 0.10.3)
|
75
|
+
rb-inotify (~> 0.9, >= 0.9.10)
|
76
|
+
logger (1.6.0)
|
77
|
+
lumberjack (1.2.10)
|
78
|
+
method_source (1.1.0)
|
79
|
+
minitest (5.24.1)
|
80
|
+
mutex_m (0.2.0)
|
81
|
+
nenv (0.3.0)
|
82
|
+
net-http (0.4.1)
|
83
|
+
uri
|
84
|
+
notiffany (0.1.3)
|
85
|
+
nenv (~> 0.1)
|
86
|
+
shellany (~> 0.0)
|
87
|
+
octokit (8.1.0)
|
88
|
+
base64
|
58
89
|
faraday (>= 1, < 3)
|
59
90
|
sawyer (~> 0.9)
|
60
91
|
open4 (1.3.4)
|
61
|
-
parallel (1.
|
62
|
-
parser (3.
|
92
|
+
parallel (1.25.1)
|
93
|
+
parser (3.3.4.0)
|
63
94
|
ast (~> 2.4.1)
|
64
95
|
racc
|
65
|
-
|
66
|
-
|
96
|
+
pry (0.14.2)
|
97
|
+
coderay (~> 1.1)
|
98
|
+
method_source (~> 1.0)
|
99
|
+
public_suffix (6.0.0)
|
100
|
+
racc (1.8.0)
|
67
101
|
rainbow (3.1.1)
|
68
|
-
rake (13.1
|
102
|
+
rake (13.2.1)
|
69
103
|
rake_circle_ci (0.11.0)
|
70
104
|
colored2 (~> 3.1)
|
71
105
|
excon (~> 0.72)
|
@@ -74,76 +108,74 @@ GEM
|
|
74
108
|
rake_factory (0.32.0.pre.2)
|
75
109
|
activesupport (>= 4)
|
76
110
|
rake (~> 13.0)
|
77
|
-
rake_git (0.1.0.pre.
|
111
|
+
rake_git (0.1.0.pre.10)
|
78
112
|
colored2 (~> 3.1)
|
79
113
|
git (~> 1.13, >= 1.13.2)
|
80
114
|
rake_factory (= 0.32.0.pre.2)
|
81
|
-
rake_git_crypt (0.1.0.pre.
|
115
|
+
rake_git_crypt (0.1.0.pre.32)
|
82
116
|
colored2 (~> 3.1)
|
83
117
|
rake_factory (= 0.32.0.pre.2)
|
84
|
-
ruby_git_crypt (= 0.1.0.pre.
|
85
|
-
ruby_gpg2 (
|
86
|
-
rake_github (0.
|
118
|
+
ruby_git_crypt (= 0.1.0.pre.8)
|
119
|
+
ruby_gpg2 (= 0.11.0.pre.6)
|
120
|
+
rake_github (0.13.0)
|
87
121
|
colored2 (~> 3.1)
|
88
|
-
octokit (>= 4.16, <
|
122
|
+
octokit (>= 4.16, < 9.0)
|
89
123
|
rake_factory (~> 0.23)
|
90
124
|
sshkey (~> 2.0)
|
91
|
-
rake_gpg (0.
|
125
|
+
rake_gpg (0.19.0.pre.6)
|
92
126
|
rake_factory (~> 0.23)
|
93
|
-
ruby_gpg2 (
|
127
|
+
ruby_gpg2 (= 0.11.0.pre.6)
|
94
128
|
rake_ssh (0.10.0)
|
95
129
|
colored2 (~> 3.1)
|
96
130
|
rake_factory (~> 0.23)
|
97
131
|
sshkey (~> 2.0)
|
132
|
+
rb-fsevent (0.11.2)
|
133
|
+
rb-inotify (0.11.1)
|
134
|
+
ffi (~> 1.0)
|
98
135
|
rchardet (1.8.0)
|
99
|
-
regexp_parser (2.
|
100
|
-
rexml (3.
|
101
|
-
|
102
|
-
|
103
|
-
rspec-
|
104
|
-
rspec-
|
105
|
-
|
106
|
-
|
107
|
-
|
136
|
+
regexp_parser (2.9.2)
|
137
|
+
rexml (3.3.1)
|
138
|
+
strscan
|
139
|
+
rspec (3.13.0)
|
140
|
+
rspec-core (~> 3.13.0)
|
141
|
+
rspec-expectations (~> 3.13.0)
|
142
|
+
rspec-mocks (~> 3.13.0)
|
143
|
+
rspec-core (3.13.0)
|
144
|
+
rspec-support (~> 3.13.0)
|
145
|
+
rspec-expectations (3.13.1)
|
108
146
|
diff-lcs (>= 1.2.0, < 2.0)
|
109
|
-
rspec-support (~> 3.
|
110
|
-
rspec-mocks (3.
|
147
|
+
rspec-support (~> 3.13.0)
|
148
|
+
rspec-mocks (3.13.1)
|
111
149
|
diff-lcs (>= 1.2.0, < 2.0)
|
112
|
-
rspec-support (~> 3.
|
113
|
-
rspec-support (3.
|
114
|
-
rubocop (1.
|
150
|
+
rspec-support (~> 3.13.0)
|
151
|
+
rspec-support (3.13.1)
|
152
|
+
rubocop (1.65.0)
|
115
153
|
json (~> 2.3)
|
116
154
|
language_server-protocol (>= 3.17.0)
|
117
155
|
parallel (~> 1.10)
|
118
|
-
parser (>= 3.
|
156
|
+
parser (>= 3.3.0.2)
|
119
157
|
rainbow (>= 2.2.2, < 4.0)
|
120
|
-
regexp_parser (>=
|
158
|
+
regexp_parser (>= 2.4, < 3.0)
|
121
159
|
rexml (>= 3.2.5, < 4.0)
|
122
|
-
rubocop-ast (>= 1.
|
160
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
123
161
|
ruby-progressbar (~> 1.7)
|
124
162
|
unicode-display_width (>= 2.4.0, < 3.0)
|
125
|
-
rubocop-ast (1.
|
126
|
-
parser (>= 3.
|
127
|
-
rubocop-capybara (2.19.0)
|
128
|
-
rubocop (~> 1.41)
|
129
|
-
rubocop-factory_bot (2.24.0)
|
130
|
-
rubocop (~> 1.33)
|
163
|
+
rubocop-ast (1.31.3)
|
164
|
+
parser (>= 3.3.1.0)
|
131
165
|
rubocop-rake (0.6.0)
|
132
166
|
rubocop (~> 1.0)
|
133
|
-
rubocop-rspec (
|
134
|
-
rubocop (~> 1.
|
135
|
-
rubocop-capybara (~> 2.17)
|
136
|
-
rubocop-factory_bot (~> 2.22)
|
167
|
+
rubocop-rspec (3.0.3)
|
168
|
+
rubocop (~> 1.61)
|
137
169
|
ruby-progressbar (1.13.0)
|
138
|
-
|
139
|
-
ruby_git_crypt (0.1.0.pre.2)
|
170
|
+
ruby_git_crypt (0.1.0.pre.8)
|
140
171
|
immutable-struct (~> 2.4)
|
141
|
-
lino (
|
142
|
-
ruby_gpg2 (0.
|
143
|
-
lino (
|
172
|
+
lino (>= 3.1)
|
173
|
+
ruby_gpg2 (0.11.0.pre.6)
|
174
|
+
lino (>= 3.1)
|
144
175
|
sawyer (0.9.2)
|
145
176
|
addressable (>= 2.3.5)
|
146
177
|
faraday (>= 0.17.3, < 3)
|
178
|
+
shellany (0.0.1)
|
147
179
|
simplecov (0.22.0)
|
148
180
|
docile (~> 1.1)
|
149
181
|
simplecov-html (~> 0.11)
|
@@ -151,9 +183,13 @@ GEM
|
|
151
183
|
simplecov-html (0.12.3)
|
152
184
|
simplecov_json_formatter (0.1.4)
|
153
185
|
sshkey (2.0.0)
|
186
|
+
strscan (3.1.0)
|
187
|
+
terminal-notifier-guard (1.7.0)
|
188
|
+
thor (1.3.1)
|
154
189
|
tzinfo (2.0.6)
|
155
190
|
concurrent-ruby (~> 1.0)
|
156
191
|
unicode-display_width (2.5.0)
|
192
|
+
uri (0.13.0)
|
157
193
|
|
158
194
|
PLATFORMS
|
159
195
|
arm64-darwin-21
|
@@ -169,12 +205,14 @@ DEPENDENCIES
|
|
169
205
|
fakefs
|
170
206
|
faker
|
171
207
|
gem-release
|
208
|
+
guard
|
209
|
+
guard-rspec
|
172
210
|
rake
|
173
211
|
rake_circle_ci
|
174
212
|
rake_git
|
175
|
-
rake_git_crypt
|
213
|
+
rake_git_crypt (>= 0.1.0.pre.31)
|
176
214
|
rake_github
|
177
|
-
rake_gpg
|
215
|
+
rake_gpg (>= 0.19.0.pre.6)
|
178
216
|
rake_ssh
|
179
217
|
rspec
|
180
218
|
rubocop
|
@@ -182,6 +220,7 @@ DEPENDENCIES
|
|
182
220
|
rubocop-rspec
|
183
221
|
ruby_fly!
|
184
222
|
simplecov
|
223
|
+
terminal-notifier-guard
|
185
224
|
|
186
225
|
BUNDLED WITH
|
187
226
|
2.4.17
|
data/Rakefile
CHANGED
@@ -146,7 +146,7 @@ end
|
|
146
146
|
RakeGithub.define_repository_tasks(
|
147
147
|
namespace: :github,
|
148
148
|
repository: 'infrablocks/ruby_fly'
|
149
|
-
) do |t
|
149
|
+
) do |t|
|
150
150
|
github_config =
|
151
151
|
YAML.load_file('config/secrets/github/config.yaml')
|
152
152
|
|
@@ -157,8 +157,6 @@ RakeGithub.define_repository_tasks(
|
|
157
157
|
public_key: File.read('config/secrets/ci/ssh.public')
|
158
158
|
}
|
159
159
|
]
|
160
|
-
t.branch_name = args.branch_name
|
161
|
-
t.commit_message = args.commit_message
|
162
160
|
end
|
163
161
|
|
164
162
|
namespace :pipeline do
|
@@ -1,46 +1,120 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'lino'
|
4
|
+
require 'tempfile'
|
4
5
|
|
5
6
|
module RubyFly
|
6
7
|
module Commands
|
7
8
|
class Base
|
8
|
-
|
9
|
-
|
10
|
-
def initialize(opts = {})
|
11
|
-
@binary = opts[:binary] || RubyFly.configuration.binary
|
9
|
+
def initialize(parameters = {})
|
10
|
+
@binary = parameters[:binary] || RubyFly.configuration.binary
|
12
11
|
@stdin = stdin || RubyFly.configuration.stdin
|
13
12
|
@stdout = stdout || RubyFly.configuration.stdout
|
14
13
|
@stderr = stderr || RubyFly.configuration.stderr
|
15
14
|
end
|
16
15
|
|
17
|
-
def execute(
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
def execute(parameters = {}, invocation_options = {})
|
17
|
+
parameters = resolve_parameters(parameters)
|
18
|
+
invocation_options = resolve_invocation_options(invocation_options)
|
19
|
+
|
20
|
+
do_before(parameters, invocation_options)
|
21
|
+
result = do_around(parameters, invocation_options) do |p, io|
|
22
|
+
build_and_execute_command(p, io)
|
23
23
|
end
|
24
|
-
do_after(
|
24
|
+
result = do_after(result, parameters, invocation_options)
|
25
|
+
prepare_result(result, parameters, invocation_options)
|
25
26
|
end
|
26
27
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
private
|
29
|
+
|
30
|
+
attr_reader :binary, :stdin, :stdout, :stderr
|
31
|
+
|
32
|
+
def do_before(parameters, invocation_options); end
|
33
|
+
|
34
|
+
def do_around(parameters, invocation_options)
|
35
|
+
yield parameters, invocation_options
|
36
|
+
end
|
37
|
+
|
38
|
+
def do_after(result, _parameters, _invocation_options)
|
39
|
+
result
|
31
40
|
end
|
32
41
|
|
33
|
-
def
|
42
|
+
def build_and_execute_command(parameters, invocation_options)
|
43
|
+
command = configure_command(instantiate_builder, parameters).build
|
44
|
+
stdout = resolve_stdout(invocation_options)
|
45
|
+
stderr = resolve_stderr(invocation_options)
|
46
|
+
begin
|
47
|
+
command.execute(stdin:, stdout:, stderr:)
|
48
|
+
rescue Lino::Errors::ExecutionError => e
|
49
|
+
raise e unless e.exit_code == 1
|
50
|
+
end
|
51
|
+
process_streams(invocation_options, stdout, stderr)
|
52
|
+
end
|
34
53
|
|
35
|
-
def
|
36
|
-
|
54
|
+
def instantiate_builder
|
55
|
+
Lino.builder_for_command(binary)
|
56
|
+
.with_option_separator('=')
|
37
57
|
end
|
38
58
|
|
39
|
-
def configure_command(builder,
|
59
|
+
def configure_command(builder, _parameters)
|
40
60
|
builder
|
41
61
|
end
|
42
62
|
|
43
|
-
def
|
63
|
+
def process_result(result, _parameters, _invocation_options)
|
64
|
+
result
|
65
|
+
end
|
66
|
+
|
67
|
+
def parameter_defaults(_parameters)
|
68
|
+
{}
|
69
|
+
end
|
70
|
+
|
71
|
+
def parameter_overrides(_parameters)
|
72
|
+
{}
|
73
|
+
end
|
74
|
+
|
75
|
+
def invocation_option_defaults(_invocation_options)
|
76
|
+
{ capture: [], result: :processed }
|
77
|
+
end
|
78
|
+
|
79
|
+
def resolve_parameters(parameters)
|
80
|
+
parameter_defaults(parameters)
|
81
|
+
.merge(parameters)
|
82
|
+
.merge(parameter_overrides(parameters))
|
83
|
+
end
|
84
|
+
|
85
|
+
def resolve_invocation_options(invocation_options)
|
86
|
+
invocation_option_defaults(invocation_options)
|
87
|
+
.merge(invocation_options)
|
88
|
+
end
|
89
|
+
|
90
|
+
def resolve_stdout(invocation_options)
|
91
|
+
invocation_options[:capture].include?(:stdout) ? Tempfile.new : @stdout
|
92
|
+
end
|
93
|
+
|
94
|
+
def resolve_stderr(invocation_options)
|
95
|
+
invocation_options[:capture].include?(:stderr) ? Tempfile.new : @stderr
|
96
|
+
end
|
97
|
+
|
98
|
+
def process_streams(invocation_options, stdout, stderr)
|
99
|
+
cap = invocation_options[:capture]
|
100
|
+
result = {}
|
101
|
+
add_contents_to_result(cap, result, :stdout, stdout, :output)
|
102
|
+
add_contents_to_result(cap, result, :stderr, stderr, :error)
|
103
|
+
result
|
104
|
+
end
|
105
|
+
|
106
|
+
def add_contents_to_result(capture, result, stream_name, stream, type)
|
107
|
+
return unless capture.include?(stream_name)
|
108
|
+
|
109
|
+
stream.rewind
|
110
|
+
result[type] = stream.read
|
111
|
+
end
|
112
|
+
|
113
|
+
def prepare_result(result, parameters, invocation_options)
|
114
|
+
return result if invocation_options[:result] == :raw
|
115
|
+
|
116
|
+
process_result(result, parameters, invocation_options)
|
117
|
+
end
|
44
118
|
end
|
45
119
|
end
|
46
120
|
end
|
@@ -11,20 +11,20 @@ module RubyFly
|
|
11
11
|
include Mixins::Environment
|
12
12
|
include Mixins::RequiredParams
|
13
13
|
|
14
|
-
|
15
|
-
|
14
|
+
private
|
15
|
+
|
16
|
+
def configure_command(initial_builder, parameters)
|
17
|
+
builder = super
|
16
18
|
builder
|
17
19
|
.with_subcommand('destroy-pipeline') do |sub|
|
18
|
-
sub = with_target(sub,
|
19
|
-
sub = with_pipeline(sub,
|
20
|
-
sub = with_team(sub,
|
21
|
-
sub = with_non_interactive(sub,
|
20
|
+
sub = with_target(sub, parameters[:target])
|
21
|
+
sub = with_pipeline(sub, parameters[:pipeline])
|
22
|
+
sub = with_team(sub, parameters[:team])
|
23
|
+
sub = with_non_interactive(sub, parameters[:non_interactive])
|
22
24
|
sub
|
23
25
|
end
|
24
26
|
end
|
25
27
|
|
26
|
-
private
|
27
|
-
|
28
28
|
def required_params
|
29
29
|
%i[target pipeline]
|
30
30
|
end
|
@@ -11,12 +11,12 @@ module RubyFly
|
|
11
11
|
include Mixins::Environment
|
12
12
|
include Mixins::RequiredParams
|
13
13
|
|
14
|
-
def configure_command(
|
15
|
-
builder = super
|
14
|
+
def configure_command(initial_builder, parameters)
|
15
|
+
builder = super
|
16
16
|
builder
|
17
17
|
.with_subcommand('get-pipeline') do |sub|
|
18
|
-
sub = with_target(sub,
|
19
|
-
sub = with_pipeline(sub,
|
18
|
+
sub = with_target(sub, parameters[:target])
|
19
|
+
sub = with_pipeline(sub, parameters[:pipeline])
|
20
20
|
sub
|
21
21
|
end
|
22
22
|
end
|
@@ -11,15 +11,15 @@ module RubyFly
|
|
11
11
|
include Mixins::Environment
|
12
12
|
include Mixins::RequiredParams
|
13
13
|
|
14
|
-
def configure_command(
|
15
|
-
builder = super
|
14
|
+
def configure_command(initial_builder, parameters)
|
15
|
+
builder = super
|
16
16
|
builder
|
17
17
|
.with_subcommand('login') do |sub|
|
18
|
-
sub = with_target(sub,
|
19
|
-
sub = with_concourse_url(sub,
|
20
|
-
sub = with_username(sub,
|
21
|
-
sub = with_password(sub,
|
22
|
-
sub = with_team(sub,
|
18
|
+
sub = with_target(sub, parameters[:target])
|
19
|
+
sub = with_concourse_url(sub, parameters[:concourse_url])
|
20
|
+
sub = with_username(sub, parameters[:username])
|
21
|
+
sub = with_password(sub, parameters[:password])
|
22
|
+
sub = with_team(sub, parameters[:team])
|
23
23
|
sub
|
24
24
|
end
|
25
25
|
end
|
@@ -5,7 +5,7 @@ module RubyFly
|
|
5
5
|
module Mixins
|
6
6
|
module Environment
|
7
7
|
def initialize(opts = {})
|
8
|
-
super
|
8
|
+
super
|
9
9
|
@environment = opts[:environment]
|
10
10
|
end
|
11
11
|
|
@@ -14,9 +14,9 @@ module RubyFly
|
|
14
14
|
self
|
15
15
|
end
|
16
16
|
|
17
|
-
def configure_command(
|
18
|
-
builder = super
|
19
|
-
environment =
|
17
|
+
def configure_command(initial_builder, parameters)
|
18
|
+
builder = super
|
19
|
+
environment = parameters[:environment] || @environment
|
20
20
|
if environment
|
21
21
|
builder =
|
22
22
|
environment.to_a.inject(builder) do |b, environment_variable|
|
@@ -4,9 +4,9 @@ module RubyFly
|
|
4
4
|
module Commands
|
5
5
|
module Mixins
|
6
6
|
module RequiredParams
|
7
|
-
def configure_command(
|
8
|
-
assert_required_params(
|
9
|
-
super
|
7
|
+
def configure_command(initial_builder, parameters)
|
8
|
+
assert_required_params(parameters)
|
9
|
+
super
|
10
10
|
end
|
11
11
|
|
12
12
|
def required_params
|
@@ -15,12 +15,12 @@ module RubyFly
|
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
-
def missing_params(
|
19
|
-
required_params.select { |param|
|
18
|
+
def missing_params(parameters)
|
19
|
+
required_params.select { |param| parameters[param].nil? }
|
20
20
|
end
|
21
21
|
|
22
|
-
def assert_required_params(
|
23
|
-
missing_params = missing_params(
|
22
|
+
def assert_required_params(parameters)
|
23
|
+
missing_params = missing_params(parameters)
|
24
24
|
return if missing_params.empty?
|
25
25
|
|
26
26
|
description = missing_params.map { |p| "'#{p}'" }.join(', ')
|
@@ -13,17 +13,17 @@ module RubyFly
|
|
13
13
|
|
14
14
|
# rubocop:disable Metrics/AbcSize
|
15
15
|
# rubocop:disable Metrics/MethodLength
|
16
|
-
def configure_command(
|
17
|
-
builder = super
|
16
|
+
def configure_command(initial_builder, parameters)
|
17
|
+
builder = super
|
18
18
|
builder
|
19
19
|
.with_subcommand('set-pipeline') do |sub|
|
20
|
-
sub = with_target(sub,
|
21
|
-
sub = with_pipeline(sub,
|
22
|
-
sub = with_config(sub,
|
23
|
-
sub = with_team(sub,
|
24
|
-
sub = with_vars(sub,
|
25
|
-
sub = with_var_files(sub,
|
26
|
-
sub = with_non_interactive(sub,
|
20
|
+
sub = with_target(sub, parameters[:target])
|
21
|
+
sub = with_pipeline(sub, parameters[:pipeline])
|
22
|
+
sub = with_config(sub, parameters[:config])
|
23
|
+
sub = with_team(sub, parameters[:team])
|
24
|
+
sub = with_vars(sub, parameters[:vars])
|
25
|
+
sub = with_var_files(sub, parameters[:var_files])
|
26
|
+
sub = with_non_interactive(sub, parameters[:non_interactive])
|
27
27
|
sub
|
28
28
|
end
|
29
29
|
end
|
@@ -11,32 +11,28 @@ module RubyFly
|
|
11
11
|
include Mixins::Environment
|
12
12
|
include Mixins::RequiredParams
|
13
13
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
@stderr = StringIO.new unless
|
19
|
-
defined?(@stderr) && @stderr.respond_to?(:string)
|
14
|
+
private
|
15
|
+
|
16
|
+
def invocation_option_defaults(_invocation_options)
|
17
|
+
super.merge(capture: %i[stdout stderr])
|
20
18
|
end
|
21
19
|
|
22
|
-
def configure_command(
|
23
|
-
builder = super
|
20
|
+
def configure_command(initial_builder, parameters)
|
21
|
+
builder = super
|
24
22
|
builder
|
25
23
|
.with_subcommand('status') do |sub|
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
sub = with_target(sub, parameters[:target])
|
25
|
+
sub
|
26
|
+
end
|
29
27
|
end
|
30
28
|
|
31
|
-
def do_around(
|
32
|
-
block.call(
|
33
|
-
rescue Open4::SpawnError => e
|
34
|
-
raise e unless e.status.exitstatus == 1
|
29
|
+
def do_around(parameters, invocation_options, &block)
|
30
|
+
block.call(parameters, invocation_options)
|
35
31
|
end
|
36
32
|
|
37
|
-
def
|
38
|
-
output =
|
39
|
-
error =
|
33
|
+
def process_result(result, _parameters, _invocation_options)
|
34
|
+
output = result[:output]
|
35
|
+
error = result[:error]
|
40
36
|
|
41
37
|
return :logged_in if output =~ /logged in successfully/
|
42
38
|
return :logged_out if error =~ /logged out/
|
@@ -46,8 +42,6 @@ module RubyFly
|
|
46
42
|
:unknown_status
|
47
43
|
end
|
48
44
|
|
49
|
-
private
|
50
|
-
|
51
45
|
def required_params
|
52
46
|
%i[target]
|
53
47
|
end
|
@@ -11,13 +11,13 @@ module RubyFly
|
|
11
11
|
include Mixins::Environment
|
12
12
|
include Mixins::RequiredParams
|
13
13
|
|
14
|
-
def configure_command(
|
15
|
-
builder = super
|
14
|
+
def configure_command(initial_builder, parameters)
|
15
|
+
builder = super
|
16
16
|
builder
|
17
17
|
.with_subcommand('unpause-pipeline') do |sub|
|
18
|
-
sub = with_target(sub,
|
19
|
-
sub = with_pipeline(sub,
|
20
|
-
sub = with_team(sub,
|
18
|
+
sub = with_target(sub, parameters[:target])
|
19
|
+
sub = with_pipeline(sub, parameters[:pipeline])
|
20
|
+
sub = with_team(sub, parameters[:team])
|
21
21
|
sub
|
22
22
|
end
|
23
23
|
end
|
@@ -6,20 +6,20 @@ require_relative 'base'
|
|
6
6
|
module RubyFly
|
7
7
|
module Commands
|
8
8
|
class Version < Base
|
9
|
-
|
10
|
-
@version_string
|
11
|
-
end
|
9
|
+
private
|
12
10
|
|
13
|
-
def
|
14
|
-
|
11
|
+
def invocation_option_defaults(_invocation_options)
|
12
|
+
super.merge(capture: [:stdout])
|
15
13
|
end
|
16
14
|
|
17
|
-
def configure_command(
|
15
|
+
def configure_command(initial_builder, _parameters)
|
16
|
+
builder = super
|
18
17
|
builder.with_flag('--version')
|
19
18
|
end
|
20
19
|
|
21
|
-
def
|
22
|
-
|
20
|
+
def process_result(result, _parameters, _invocation_options)
|
21
|
+
output = result[:output]
|
22
|
+
output.gsub("\n", '')
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
data/lib/ruby_fly/rc.rb
CHANGED
@@ -59,7 +59,7 @@ module RubyFly
|
|
59
59
|
def bearer_token=(value)
|
60
60
|
@token = {
|
61
61
|
type: 'bearer',
|
62
|
-
value:
|
62
|
+
value:
|
63
63
|
}
|
64
64
|
end
|
65
65
|
|
@@ -103,7 +103,7 @@ module RubyFly
|
|
103
103
|
contents = options[:contents] || try_load_rc_file_contents(path) || {}
|
104
104
|
targets = try_load_rc_file_targets(path, contents) || []
|
105
105
|
|
106
|
-
RubyFly::RC.new(home
|
106
|
+
RubyFly::RC.new(home:, name:, targets:)
|
107
107
|
end
|
108
108
|
|
109
109
|
class << self
|
data/lib/ruby_fly/version.rb
CHANGED
data/lib/ruby_fly.rb
CHANGED
data/ruby_fly.gemspec
CHANGED
@@ -34,26 +34,29 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
35
35
|
spec.require_paths = ['lib']
|
36
36
|
|
37
|
-
spec.required_ruby_version = '>=
|
37
|
+
spec.required_ruby_version = '>= 3.1'
|
38
38
|
|
39
|
-
spec.add_dependency 'lino', '
|
39
|
+
spec.add_dependency 'lino', '>= 4.1.0.pre.1'
|
40
40
|
|
41
41
|
spec.add_development_dependency 'bundler'
|
42
42
|
spec.add_development_dependency 'fakefs'
|
43
43
|
spec.add_development_dependency 'faker'
|
44
44
|
spec.add_development_dependency 'gem-release'
|
45
|
+
spec.add_development_dependency 'guard'
|
46
|
+
spec.add_development_dependency 'guard-rspec'
|
45
47
|
spec.add_development_dependency 'rake'
|
46
48
|
spec.add_development_dependency 'rake_circle_ci'
|
47
49
|
spec.add_development_dependency 'rake_git'
|
48
|
-
spec.add_development_dependency 'rake_git_crypt'
|
50
|
+
spec.add_development_dependency 'rake_git_crypt', '>= 0.1.0.pre.31'
|
49
51
|
spec.add_development_dependency 'rake_github'
|
50
|
-
spec.add_development_dependency 'rake_gpg'
|
52
|
+
spec.add_development_dependency 'rake_gpg', '>= 0.19.0.pre.6'
|
51
53
|
spec.add_development_dependency 'rake_ssh'
|
52
54
|
spec.add_development_dependency 'rspec'
|
53
55
|
spec.add_development_dependency 'rubocop'
|
54
56
|
spec.add_development_dependency 'rubocop-rake'
|
55
57
|
spec.add_development_dependency 'rubocop-rspec'
|
56
58
|
spec.add_development_dependency 'simplecov'
|
59
|
+
spec.add_development_dependency 'terminal-notifier-guard'
|
57
60
|
|
58
61
|
spec.metadata['rubygems_mfa_required'] = 'false'
|
59
62
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_fly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.40.0.pre.
|
4
|
+
version: 0.40.0.pre.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- InfraBlocks Maintainers
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lino
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.1.0.pre.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.1.0.pre.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +80,34 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: guard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: rake
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,14 +156,14 @@ dependencies:
|
|
128
156
|
requirements:
|
129
157
|
- - ">="
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
159
|
+
version: 0.1.0.pre.31
|
132
160
|
type: :development
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - ">="
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
166
|
+
version: 0.1.0.pre.31
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: rake_github
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -156,14 +184,14 @@ dependencies:
|
|
156
184
|
requirements:
|
157
185
|
- - ">="
|
158
186
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
187
|
+
version: 0.19.0.pre.6
|
160
188
|
type: :development
|
161
189
|
prerelease: false
|
162
190
|
version_requirements: !ruby/object:Gem::Requirement
|
163
191
|
requirements:
|
164
192
|
- - ">="
|
165
193
|
- !ruby/object:Gem::Version
|
166
|
-
version:
|
194
|
+
version: 0.19.0.pre.6
|
167
195
|
- !ruby/object:Gem::Dependency
|
168
196
|
name: rake_ssh
|
169
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -248,6 +276,20 @@ dependencies:
|
|
248
276
|
- - ">="
|
249
277
|
- !ruby/object:Gem::Version
|
250
278
|
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: terminal-notifier-guard
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
251
293
|
description: Wraps the concourse fly CLI so that fly can be invoked from a Ruby script
|
252
294
|
or Rakefile.
|
253
295
|
email:
|
@@ -292,14 +334,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
292
334
|
requirements:
|
293
335
|
- - ">="
|
294
336
|
- !ruby/object:Gem::Version
|
295
|
-
version: '
|
337
|
+
version: '3.1'
|
296
338
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
297
339
|
requirements:
|
298
340
|
- - ">"
|
299
341
|
- !ruby/object:Gem::Version
|
300
342
|
version: 1.3.1
|
301
343
|
requirements: []
|
302
|
-
rubygems_version: 3.
|
344
|
+
rubygems_version: 3.3.7
|
303
345
|
signing_key:
|
304
346
|
specification_version: 4
|
305
347
|
summary: A simple Ruby wrapper for invoking fly commands.
|