ruby_fly 0.27.0 → 0.32.0.pre.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/lib/ruby_fly.rb +12 -1
- data/lib/ruby_fly/commands.rb +2 -0
- data/lib/ruby_fly/commands/base.rb +16 -19
- data/lib/ruby_fly/commands/destroy_pipeline.rb +37 -0
- data/lib/ruby_fly/commands/status.rb +62 -0
- data/lib/ruby_fly/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abcd3cc91c09e86f00c971d1473d3503021ec51ca355cecace76e433f50c2541
|
4
|
+
data.tar.gz: 2e50a3435fd3695b9876f0a3b91654c9a8d20c92975ba5d213c98aaef9108925
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f7c37edaa05cf66d1563624d6a7ab83e91aa9eb04c9d01a8cdad7fd9f6352fe225e55edfa0ad6d8aa1efd67943f48455208c288899a598fc9ecd6abc9936182
|
7
|
+
data.tar.gz: 5eb7edb2b646994c056601edac7540f2dab962428243dd1b862a4917f1b2b4b0c7df18e560015b68a1fb4f7cc38d509682826efe0f64e4325738930ab3ba86ee
|
data/Gemfile.lock
CHANGED
data/lib/ruby_fly.rb
CHANGED
@@ -24,6 +24,10 @@ module RubyFly
|
|
24
24
|
Commands::Login.new.execute(opts)
|
25
25
|
end
|
26
26
|
|
27
|
+
def status(opts = {})
|
28
|
+
Commands::Status.new.execute(opts)
|
29
|
+
end
|
30
|
+
|
27
31
|
def get_pipeline(opts = {})
|
28
32
|
Commands::GetPipeline.new.execute(opts)
|
29
33
|
end
|
@@ -36,6 +40,10 @@ module RubyFly
|
|
36
40
|
Commands::UnpausePipeline.new.execute(opts)
|
37
41
|
end
|
38
42
|
|
43
|
+
def destroy_pipeline(opts = {})
|
44
|
+
Commands::DestroyPipeline.new.execute(opts)
|
45
|
+
end
|
46
|
+
|
39
47
|
def version
|
40
48
|
Commands::Version.new.execute
|
41
49
|
end
|
@@ -47,10 +55,13 @@ module RubyFly
|
|
47
55
|
end
|
48
56
|
|
49
57
|
class Configuration
|
50
|
-
attr_accessor :binary
|
58
|
+
attr_accessor :binary, :stdin, :stdout, :stderr
|
51
59
|
|
52
60
|
def initialize
|
53
61
|
@binary = 'fly'
|
62
|
+
@stdin = ''
|
63
|
+
@stdout = $stdout
|
64
|
+
@stderr = $stderr
|
54
65
|
end
|
55
66
|
end
|
56
67
|
end
|
data/lib/ruby_fly/commands.rb
CHANGED
@@ -1,7 +1,9 @@
|
|
1
1
|
require_relative 'commands/login'
|
2
|
+
require_relative 'commands/status'
|
2
3
|
require_relative 'commands/get_pipeline'
|
3
4
|
require_relative 'commands/set_pipeline'
|
4
5
|
require_relative 'commands/unpause_pipeline'
|
6
|
+
require_relative 'commands/destroy_pipeline'
|
5
7
|
require_relative 'commands/version'
|
6
8
|
|
7
9
|
module RubyFly
|
@@ -3,34 +3,27 @@ require 'lino'
|
|
3
3
|
module RubyFly
|
4
4
|
module Commands
|
5
5
|
class Base
|
6
|
-
attr_reader :binary
|
6
|
+
attr_reader :binary, :stdin, :stdout, :stderr
|
7
7
|
|
8
8
|
def initialize(binary: nil)
|
9
9
|
@binary = binary || RubyFly.configuration.binary
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
''
|
14
|
-
end
|
15
|
-
|
16
|
-
def stdout
|
17
|
-
STDOUT
|
18
|
-
end
|
19
|
-
|
20
|
-
def stderr
|
21
|
-
STDERR
|
10
|
+
@stdin = stdin || RubyFly.configuration.stdin
|
11
|
+
@stdout = stdout || RubyFly.configuration.stdout
|
12
|
+
@stderr = stderr || RubyFly.configuration.stderr
|
22
13
|
end
|
23
14
|
|
24
15
|
def execute(opts = {})
|
25
16
|
builder = instantiate_builder
|
26
17
|
|
27
18
|
do_before(opts)
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
19
|
+
do_around(opts) do |new_opts|
|
20
|
+
configure_command(builder, new_opts)
|
21
|
+
.build
|
22
|
+
.execute(
|
23
|
+
stdin: stdin,
|
24
|
+
stdout: stdout,
|
25
|
+
stderr: stderr)
|
26
|
+
end
|
34
27
|
do_after(opts)
|
35
28
|
end
|
36
29
|
|
@@ -43,6 +36,10 @@ module RubyFly
|
|
43
36
|
def do_before(opts)
|
44
37
|
end
|
45
38
|
|
39
|
+
def do_around(opts, &block)
|
40
|
+
block.call(opts)
|
41
|
+
end
|
42
|
+
|
46
43
|
def configure_command(builder, opts)
|
47
44
|
builder
|
48
45
|
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require 'lino'
|
2
|
+
require_relative 'base'
|
3
|
+
require_relative 'mixins/environment'
|
4
|
+
|
5
|
+
module RubyFly
|
6
|
+
module Commands
|
7
|
+
class DestroyPipeline < Base
|
8
|
+
include Mixins::Environment
|
9
|
+
|
10
|
+
def configure_command(builder, opts)
|
11
|
+
builder = super(builder, opts)
|
12
|
+
|
13
|
+
missing_params = [
|
14
|
+
:target,
|
15
|
+
:pipeline
|
16
|
+
].select { |param| opts[param].nil? }
|
17
|
+
|
18
|
+
unless missing_params.empty?
|
19
|
+
description = missing_params.map { |p| "'#{p}'" }.join(', ')
|
20
|
+
raise(
|
21
|
+
ArgumentError,
|
22
|
+
"Error: #{description} required but not provided.")
|
23
|
+
end
|
24
|
+
|
25
|
+
target = opts[:target]
|
26
|
+
pipeline = opts[:pipeline]
|
27
|
+
|
28
|
+
builder
|
29
|
+
.with_subcommand('destroy-pipeline') do |sub|
|
30
|
+
sub = sub.with_option('-t', target)
|
31
|
+
sub = sub.with_option('-p', pipeline)
|
32
|
+
sub
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'lino'
|
2
|
+
require_relative 'base'
|
3
|
+
require_relative 'mixins/environment'
|
4
|
+
|
5
|
+
module RubyFly
|
6
|
+
module Commands
|
7
|
+
class Status < Base
|
8
|
+
include Mixins::Environment
|
9
|
+
|
10
|
+
def initialize(*args)
|
11
|
+
super(*args)
|
12
|
+
@stdout = StringIO.new unless
|
13
|
+
(defined?(@stdout) && @stdout.respond_to?(:string))
|
14
|
+
@stderr = StringIO.new unless
|
15
|
+
(defined?(@stderr) && @stderr.respond_to?(:string))
|
16
|
+
end
|
17
|
+
|
18
|
+
def configure_command(builder, opts)
|
19
|
+
builder = super(builder, opts)
|
20
|
+
|
21
|
+
missing_params = [
|
22
|
+
:target
|
23
|
+
].select { |param| opts[param].nil? }
|
24
|
+
|
25
|
+
unless missing_params.empty?
|
26
|
+
description = missing_params.map { |p| "'#{p}'" }.join(', ')
|
27
|
+
raise(
|
28
|
+
ArgumentError,
|
29
|
+
"Error: #{description} required but not provided.")
|
30
|
+
end
|
31
|
+
|
32
|
+
target = opts[:target]
|
33
|
+
|
34
|
+
builder
|
35
|
+
.with_subcommand('status') do |sub|
|
36
|
+
sub = sub.with_option('-t', target)
|
37
|
+
sub
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def do_around(opts, &block)
|
42
|
+
begin
|
43
|
+
block.call(opts)
|
44
|
+
rescue Open4::SpawnError => e
|
45
|
+
raise e unless e.status.exitstatus == 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def do_after(opts)
|
50
|
+
output = stdout.string
|
51
|
+
error = stderr.string
|
52
|
+
|
53
|
+
return :logged_in if output =~ /logged in successfully/
|
54
|
+
return :logged_out if error =~ /logged out/
|
55
|
+
return :session_expired if error =~ /please login again/
|
56
|
+
return :unknown_target if error =~ /error: unknown target/
|
57
|
+
|
58
|
+
:unknown_status
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/ruby_fly/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_fly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.32.0.pre.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Toby Clemson
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lino
|
@@ -183,10 +183,12 @@ files:
|
|
183
183
|
- lib/ruby_fly.rb
|
184
184
|
- lib/ruby_fly/commands.rb
|
185
185
|
- lib/ruby_fly/commands/base.rb
|
186
|
+
- lib/ruby_fly/commands/destroy_pipeline.rb
|
186
187
|
- lib/ruby_fly/commands/get_pipeline.rb
|
187
188
|
- lib/ruby_fly/commands/login.rb
|
188
189
|
- lib/ruby_fly/commands/mixins/environment.rb
|
189
190
|
- lib/ruby_fly/commands/set_pipeline.rb
|
191
|
+
- lib/ruby_fly/commands/status.rb
|
190
192
|
- lib/ruby_fly/commands/unpause_pipeline.rb
|
191
193
|
- lib/ruby_fly/commands/version.rb
|
192
194
|
- lib/ruby_fly/rc.rb
|
@@ -206,9 +208,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
206
208
|
version: '2.6'
|
207
209
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
208
210
|
requirements:
|
209
|
-
- - "
|
211
|
+
- - ">"
|
210
212
|
- !ruby/object:Gem::Version
|
211
|
-
version:
|
213
|
+
version: 1.3.1
|
212
214
|
requirements: []
|
213
215
|
rubygems_version: 3.0.1
|
214
216
|
signing_key:
|