xapixctl 1.1.0 → 1.1.1
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/.rubocop.yml +5 -1
- data/Gemfile.lock +16 -16
- data/Rakefile +1 -1
- data/lib/xapixctl/base_cli.rb +51 -0
- data/lib/xapixctl/cli.rb +6 -86
- data/lib/xapixctl/phoenix_client.rb +16 -3
- data/lib/xapixctl/preview_cli.rb +66 -0
- data/lib/xapixctl/version.rb +3 -1
- data/xapixctl.gemspec +4 -4
- metadata +10 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb39c7aace95b6c10168b43e536b404a8d5edcdfc48d12890b296708199dccda
|
4
|
+
data.tar.gz: 5db98915dd0ac3f1c02b64ceee8ba7497a72fe4ccd65c09c2543aa108a4a1b95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d67fe8ecd7b977fd05c7f8f8fb9b2b0fdbd4b1153405f0419f93bf05eea7dcb77d4314f4a635d77cb8472c50fcdef9c92df5fae1e361a8874b33401968dfaa35
|
7
|
+
data.tar.gz: e44e46596d4b155a5e3e5c08772de09fdbac68d1b5de23c6377a448f75af35c3701e59cf25498491d57c1c5418b3340ec7098939d168063f0c18bbe929c532d7
|
data/.rubocop.yml
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
AllCops:
|
2
|
-
|
2
|
+
NewCops: enable
|
3
|
+
TargetRubyVersion: 2.6
|
3
4
|
DisplayCopNames: true
|
4
5
|
Exclude:
|
5
6
|
- bin/*
|
@@ -25,3 +26,6 @@ Style/OptionHash:
|
|
25
26
|
Metrics/BlockLength:
|
26
27
|
Exclude:
|
27
28
|
- spec/**/*
|
29
|
+
|
30
|
+
Naming/RescuedExceptionsVariableName:
|
31
|
+
PreferredName: 'err'
|
data/Gemfile.lock
CHANGED
@@ -1,40 +1,40 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
xapixctl (1.
|
4
|
+
xapixctl (1.1.1)
|
5
5
|
activesupport (>= 5.2.3, < 6.0.0)
|
6
6
|
rest-client (>= 2.1.0, < 3.0.0)
|
7
|
-
thor (>= 0.
|
7
|
+
thor (>= 1.0.0, < 1.1.0)
|
8
8
|
|
9
9
|
GEM
|
10
10
|
remote: https://rubygems.org/
|
11
11
|
specs:
|
12
|
-
activesupport (5.2.4.
|
12
|
+
activesupport (5.2.4.4)
|
13
13
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
14
14
|
i18n (>= 0.7, < 2)
|
15
15
|
minitest (~> 5.1)
|
16
16
|
tzinfo (~> 1.1)
|
17
17
|
ast (2.4.1)
|
18
|
-
concurrent-ruby (1.1.
|
18
|
+
concurrent-ruby (1.1.7)
|
19
19
|
diff-lcs (1.3)
|
20
20
|
domain_name (0.5.20190701)
|
21
21
|
unf (>= 0.0.5, < 1.0.0)
|
22
22
|
http-accept (1.7.0)
|
23
23
|
http-cookie (1.0.3)
|
24
24
|
domain_name (~> 0.5)
|
25
|
-
i18n (1.8.
|
25
|
+
i18n (1.8.5)
|
26
26
|
concurrent-ruby (~> 1.0)
|
27
27
|
mime-types (3.3.1)
|
28
28
|
mime-types-data (~> 3.2015)
|
29
29
|
mime-types-data (3.2020.0512)
|
30
|
-
minitest (5.14.
|
30
|
+
minitest (5.14.2)
|
31
31
|
netrc (0.11.0)
|
32
32
|
parallel (1.19.2)
|
33
|
-
parser (2.7.1.
|
34
|
-
ast (~> 2.4.
|
33
|
+
parser (2.7.1.4)
|
34
|
+
ast (~> 2.4.1)
|
35
35
|
rainbow (3.0.0)
|
36
36
|
rake (13.0.1)
|
37
|
-
regexp_parser (1.
|
37
|
+
regexp_parser (1.8.0)
|
38
38
|
relaxed-rubocop (2.5)
|
39
39
|
rest-client (2.1.0)
|
40
40
|
http-accept (>= 1.7.0, < 2.0)
|
@@ -55,19 +55,19 @@ GEM
|
|
55
55
|
diff-lcs (>= 1.2.0, < 2.0)
|
56
56
|
rspec-support (~> 3.9.0)
|
57
57
|
rspec-support (3.9.3)
|
58
|
-
rubocop (0.
|
58
|
+
rubocop (0.91.0)
|
59
59
|
parallel (~> 1.10)
|
60
|
-
parser (>= 2.7.
|
60
|
+
parser (>= 2.7.1.1)
|
61
61
|
rainbow (>= 2.2.2, < 4.0)
|
62
62
|
regexp_parser (>= 1.7)
|
63
63
|
rexml
|
64
|
-
rubocop-ast (>= 0.0.
|
64
|
+
rubocop-ast (>= 0.4.0, < 1.0)
|
65
65
|
ruby-progressbar (~> 1.7)
|
66
66
|
unicode-display_width (>= 1.4.0, < 2.0)
|
67
|
-
rubocop-ast (0.
|
68
|
-
parser (>= 2.7.
|
67
|
+
rubocop-ast (0.4.2)
|
68
|
+
parser (>= 2.7.1.4)
|
69
69
|
ruby-progressbar (1.10.1)
|
70
|
-
thor (0.
|
70
|
+
thor (1.0.1)
|
71
71
|
thread_safe (0.3.6)
|
72
72
|
tzinfo (1.2.7)
|
73
73
|
thread_safe (~> 0.1)
|
@@ -84,7 +84,7 @@ DEPENDENCIES
|
|
84
84
|
rake (~> 13.0)
|
85
85
|
relaxed-rubocop (~> 2.5)
|
86
86
|
rspec (~> 3.0)
|
87
|
-
rubocop (~> 0.
|
87
|
+
rubocop (~> 0.89)
|
88
88
|
xapixctl!
|
89
89
|
|
90
90
|
BUNDLED WITH
|
data/Rakefile
CHANGED
@@ -0,0 +1,51 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thor'
|
4
|
+
|
5
|
+
module Xapixctl
|
6
|
+
class BaseCli < Thor
|
7
|
+
def self.exit_on_failure?; true; end
|
8
|
+
|
9
|
+
class_option :verbose, type: :boolean, aliases: "-v"
|
10
|
+
class_option :xapix_url, desc: "Fallback: environment variable XAPIX_URL. URL to Xapix. Default: https://cloud.xapix.io/"
|
11
|
+
class_option :xapix_token, desc: "Fallback: environment variable XAPIX_TOKEN. Your access token."
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def warn_api_error(text, err, result)
|
16
|
+
details = "\n " + result['errors'].map { |k| k['detail'] }.join("\n ") rescue err.to_s
|
17
|
+
warn "#{text}: #{details}"
|
18
|
+
exit 1
|
19
|
+
end
|
20
|
+
|
21
|
+
def show_deployment_status(result)
|
22
|
+
return unless result && result['project_publication']
|
23
|
+
puts "deployment: #{result.dig('project_publication', 'deployment')}"
|
24
|
+
puts " data api: #{result.dig('project_publication', 'data_api')} (version: #{result.dig('project_publication', 'data_api_version').presence || 'n/a'})"
|
25
|
+
puts " user management: #{result.dig('project_publication', 'user_management')}"
|
26
|
+
if result.dig('project_publication', 'deployment') == 'success'
|
27
|
+
puts " base URL: #{result.dig('project_publication', 'base_url')}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
DOCUMENT_STRUCTURE = %w[version kind metadata definition].freeze
|
32
|
+
def resources_from_file(filename)
|
33
|
+
yaml_string = filename == '-' ? $stdin.read : IO.read(filename)
|
34
|
+
yaml_string.split(/^---\s*\n/).map { |yml| Psych.safe_load(yml) }.compact.each do |doc|
|
35
|
+
unless (DOCUMENT_STRUCTURE - doc.keys.map(&:to_s)).empty?
|
36
|
+
warn "does not look like a correct resource definition:"
|
37
|
+
warn doc.inspect
|
38
|
+
exit 1
|
39
|
+
end
|
40
|
+
yield doc
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def connection
|
45
|
+
url = options[:xapix_url] || ENV['XAPIX_URL'] || 'https://cloud.xapix.io/'
|
46
|
+
token = options[:xapix_token] || ENV['XAPIX_TOKEN']
|
47
|
+
raise Thor::RequiredArgumentMissingError, "no XAPIX_TOKEN given. Either use --xapix_token [TOKEN] or set environment variable XAPIX_TOKEN (recommended)" if !token
|
48
|
+
PhoenixClient::Connection.new(url, token)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
data/lib/xapixctl/cli.rb
CHANGED
@@ -1,14 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'xapixctl/base_cli'
|
4
|
+
require 'xapixctl/preview_cli'
|
4
5
|
|
5
6
|
module Xapixctl
|
6
|
-
class Cli <
|
7
|
-
|
8
|
-
|
9
|
-
class_option :verbose, type: :boolean, aliases: "-v"
|
10
|
-
class_option :xapix_url, desc: "Fallback: environment variable XAPIX_URL. URL to Xapix. Default: https://cloud.xapix.io/"
|
11
|
-
class_option :xapix_token, desc: "Fallback: environment variable XAPIX_TOKEN. Your access token."
|
7
|
+
class Cli < BaseCli
|
8
|
+
desc "preview SUBCOMMAND ...ARGS", "Request preview for resources"
|
9
|
+
subcommand "preview", Preview
|
12
10
|
|
13
11
|
option :org, aliases: "-o", desc: "Organization", required: true
|
14
12
|
option :project, aliases: "-p", desc: "Project"
|
@@ -128,7 +126,7 @@ module Xapixctl
|
|
128
126
|
end
|
129
127
|
elsif options[:file]
|
130
128
|
resources_from_file(options[:file]) do |desc|
|
131
|
-
type = desc
|
129
|
+
type = desc['kind']
|
132
130
|
id = desc.dig('metadata', 'id')
|
133
131
|
puts "deleting #{type} #{id}"
|
134
132
|
connection.delete(type, id, org: options[:org], project: options[:project]) do |res|
|
@@ -141,46 +139,6 @@ module Xapixctl
|
|
141
139
|
end
|
142
140
|
end
|
143
141
|
|
144
|
-
option :org, aliases: "-o", desc: "Organization", required: true
|
145
|
-
option :project, aliases: "-p", desc: "Project", required: true
|
146
|
-
option :format, aliases: "-f", default: 'text', enum: ['text', 'yaml', 'json'], desc: "Output format"
|
147
|
-
desc "preview ID", "Preview a pipeline"
|
148
|
-
long_desc <<-LONGDESC
|
149
|
-
`xapixctl preview` will return a preview of the given pipeline.
|
150
|
-
|
151
|
-
The preview function will not call any external data sources but calculate a preview based on the provided sample data.
|
152
|
-
|
153
|
-
To preview a pipeline attached to an endpoint, please use `xapixctl preview-ep` to see the correct preview.
|
154
|
-
|
155
|
-
Examples:
|
156
|
-
\x5> $ xapixctl preview -o xapix -p some-project pipeline
|
157
|
-
LONGDESC
|
158
|
-
def preview(pipeline)
|
159
|
-
connection.pipeline_preview(pipeline, org: options[:org], project: options[:project], format: options[:format].to_sym) do |res|
|
160
|
-
res.on_success { |preview| puts preview }
|
161
|
-
res.on_error { |err, result| warn_api_error('could not fetch preview', err, result) }
|
162
|
-
end
|
163
|
-
end
|
164
|
-
|
165
|
-
option :org, aliases: "-o", desc: "Organization", required: true
|
166
|
-
option :project, aliases: "-p", desc: "Project", required: true
|
167
|
-
option :format, aliases: "-f", default: 'text', enum: ['text', 'yaml', 'json'], desc: "Output format"
|
168
|
-
desc "preview-ep ID", "Preview an endpoint"
|
169
|
-
long_desc <<-LONGDESC
|
170
|
-
`xapixctl preview-ep` will return a preview of the given endpoint.
|
171
|
-
|
172
|
-
The preview function will not call any external data sources but calculate a preview based on the provided sample data.
|
173
|
-
|
174
|
-
Examples:
|
175
|
-
\x5> $ xapixctl preview-ep -o xapix -p some-project endpoint
|
176
|
-
LONGDESC
|
177
|
-
def preview_ep(endpoint)
|
178
|
-
connection.endpoint_preview(endpoint, org: options[:org], project: options[:project], format: options[:format].to_sym) do |res|
|
179
|
-
res.on_success { |preview| puts preview }
|
180
|
-
res.on_error { |err, result| warn_api_error('could not fetch preview', err, result) }
|
181
|
-
end
|
182
|
-
end
|
183
|
-
|
184
142
|
option :org, aliases: "-o", desc: "Organization", required: true
|
185
143
|
option :project, aliases: "-p", desc: "Project", required: true
|
186
144
|
desc "publish", "Publishes the current version of the given project"
|
@@ -230,43 +188,5 @@ module Xapixctl
|
|
230
188
|
res.on_error { |err, result| warn_api_error("could not get", err, result) }
|
231
189
|
end
|
232
190
|
end
|
233
|
-
|
234
|
-
private
|
235
|
-
|
236
|
-
def warn_api_error(text, err, result)
|
237
|
-
details = "\n " + result['errors'].map { |k| k['detail'] }.join("\n ") rescue err.to_s
|
238
|
-
warn "#{text}: #{details}"
|
239
|
-
exit 1
|
240
|
-
end
|
241
|
-
|
242
|
-
def show_deployment_status(result)
|
243
|
-
return unless result && result['project_publication']
|
244
|
-
puts "deployment: #{result.dig('project_publication', 'deployment')}"
|
245
|
-
puts " data api: #{result.dig('project_publication', 'data_api')} (version: #{result.dig('project_publication', 'data_api_version').presence || 'n/a'})"
|
246
|
-
puts " user management: #{result.dig('project_publication', 'user_management')}"
|
247
|
-
if result.dig('project_publication', 'deployment') == 'success'
|
248
|
-
puts " base URL: #{result.dig('project_publication', 'base_url')}"
|
249
|
-
end
|
250
|
-
end
|
251
|
-
|
252
|
-
DOCUMENT_STRUCTURE = %w[version kind metadata definition].freeze
|
253
|
-
def resources_from_file(filename)
|
254
|
-
yaml_string = filename == '-' ? $stdin.read : IO.read(filename)
|
255
|
-
yaml_string.split(/^---\s*\n/).map { |yml| Psych.safe_load(yml) }.compact.each do |doc|
|
256
|
-
unless (DOCUMENT_STRUCTURE - doc.keys.map(&:to_s)).empty?
|
257
|
-
warn "does not look like a correct resource definition:"
|
258
|
-
warn doc.inspect
|
259
|
-
exit 1
|
260
|
-
end
|
261
|
-
yield doc
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
|
-
def connection
|
266
|
-
url = options[:xapix_url] || ENV['XAPIX_URL'] || 'https://cloud.xapix.io/'
|
267
|
-
token = options[:xapix_token] || ENV['XAPIX_TOKEN']
|
268
|
-
raise Thor::RequiredArgumentMissingError, "no XAPIX_TOKEN given. Either use --xapix_token [TOKEN] or set environment variable XAPIX_TOKEN (recommended)" if !token
|
269
|
-
PhoenixClient::Connection.new(url, token)
|
270
|
-
end
|
271
191
|
end
|
272
192
|
end
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
module Xapixctl
|
4
4
|
module PhoenixClient
|
5
|
-
|
6
5
|
class ResultHandler
|
7
6
|
def initialize(default_success_handler:, default_error_handler:)
|
8
7
|
@success_handler = default_success_handler
|
@@ -34,12 +33,12 @@ module Xapixctl
|
|
34
33
|
end
|
35
34
|
|
36
35
|
TEXT_FORMATTERS = {
|
37
|
-
all: ->(data) { "id :
|
36
|
+
all: ->(data) { "id : %<id>s\nkind: %<kind>s\nname: %<name>s\n\n" % { id: data.dig('metadata', 'id'), kind: data['kind'], name: data.dig('definition', 'name') } }
|
38
37
|
}.freeze
|
39
38
|
|
40
39
|
FORMATTERS = {
|
41
40
|
json: ->(data) { JSON.pretty_generate(data) },
|
42
|
-
yaml: ->(data) { Psych.dump(data
|
41
|
+
yaml: ->(data) { Psych.dump(data) },
|
43
42
|
text: ->(data) { (TEXT_FORMATTERS[data.dig('metadata', 'type')] || TEXT_FORMATTERS[:all]).call(data) }
|
44
43
|
}.freeze
|
45
44
|
|
@@ -80,10 +79,13 @@ module Xapixctl
|
|
80
79
|
Schema
|
81
80
|
DataSource
|
82
81
|
Pipeline
|
82
|
+
Service
|
83
83
|
EndpointGroup
|
84
84
|
Endpoint
|
85
85
|
StreamGroup
|
86
86
|
Stream
|
87
|
+
Scheduler
|
88
|
+
StreamProcessor
|
87
89
|
ApiPublishing
|
88
90
|
ApiPublishingRole
|
89
91
|
].freeze
|
@@ -134,6 +136,13 @@ module Xapixctl
|
|
134
136
|
run { @client[endpoint_preview_path(org, project, endpoint_id)].get }
|
135
137
|
end
|
136
138
|
|
139
|
+
def stream_processor_preview(stream_processor_id, org:, project:, format: :hash, &block)
|
140
|
+
result_handler(block).
|
141
|
+
prepare_data(->(data) { data['stream_processor_preview'] }).
|
142
|
+
formatter(PREVIEW_FORMATTERS[format]).
|
143
|
+
run { @client[stream_processor_preview_path(org, project, stream_processor_id)].get }
|
144
|
+
end
|
145
|
+
|
137
146
|
def publish(org:, project:, &block)
|
138
147
|
result_handler(block).
|
139
148
|
run { @client[project_publications_path(org, project)].post('') }
|
@@ -190,6 +199,10 @@ module Xapixctl
|
|
190
199
|
"/projects/#{org}/#{project}/endpoints/#{endpoint}/preview"
|
191
200
|
end
|
192
201
|
|
202
|
+
def stream_processor_preview_path(org, project, stream_processor)
|
203
|
+
"/projects/#{org}/#{project}/stream_processors/#{stream_processor}/preview"
|
204
|
+
end
|
205
|
+
|
193
206
|
def project_publications_path(org, project)
|
194
207
|
"/projects/#{org}/#{project}/publications"
|
195
208
|
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'xapixctl/base_cli'
|
4
|
+
|
5
|
+
module Xapixctl
|
6
|
+
class Preview < BaseCli
|
7
|
+
option :org, aliases: "-o", desc: "Organization", required: true
|
8
|
+
option :project, aliases: "-p", desc: "Project", required: true
|
9
|
+
option :format, aliases: "-f", default: 'text', enum: ['text', 'yaml', 'json'], desc: "Output format"
|
10
|
+
desc "pipeline ID", "Preview a pipeline"
|
11
|
+
long_desc <<-LONGDESC
|
12
|
+
`xapixctl preview pipeline` will return a preview of the given pipeline.
|
13
|
+
|
14
|
+
The preview function will not call any external data sources but calculate a preview based on the provided sample data.
|
15
|
+
|
16
|
+
To preview a pipeline attached to an endpoint, please use `xapixctl preview endpoint` to see the correct preview.
|
17
|
+
|
18
|
+
Examples:
|
19
|
+
\x5> $ xapixctl preview pipeline -o xapix -p some-project pipeline
|
20
|
+
LONGDESC
|
21
|
+
def pipeline(pipeline)
|
22
|
+
connection.pipeline_preview(pipeline, org: options[:org], project: options[:project], format: options[:format].to_sym) do |res|
|
23
|
+
res.on_success { |preview| puts preview }
|
24
|
+
res.on_error { |err, result| warn_api_error('could not fetch preview', err, result) }
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
option :org, aliases: "-o", desc: "Organization", required: true
|
29
|
+
option :project, aliases: "-p", desc: "Project", required: true
|
30
|
+
option :format, aliases: "-f", default: 'text', enum: ['text', 'yaml', 'json'], desc: "Output format"
|
31
|
+
desc "endpoint ID", "Preview an endpoint"
|
32
|
+
long_desc <<-LONGDESC
|
33
|
+
`xapixctl preview endpoint` will return a preview of the given endpoint.
|
34
|
+
|
35
|
+
The preview function will not call any external data sources but calculate a preview based on the provided sample data.
|
36
|
+
|
37
|
+
Examples:
|
38
|
+
\x5> $ xapixctl preview endpoint -o xapix -p some-project endpoint
|
39
|
+
LONGDESC
|
40
|
+
def endpoint(endpoint)
|
41
|
+
connection.endpoint_preview(endpoint, org: options[:org], project: options[:project], format: options[:format].to_sym) do |res|
|
42
|
+
res.on_success { |preview| puts preview }
|
43
|
+
res.on_error { |err, result| warn_api_error('could not fetch preview', err, result) }
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
option :org, aliases: "-o", desc: "Organization", required: true
|
48
|
+
option :project, aliases: "-p", desc: "Project", required: true
|
49
|
+
option :format, aliases: "-f", default: 'text', enum: ['text', 'yaml', 'json'], desc: "Output format"
|
50
|
+
desc "stream-processor ID", "Preview a stream processor"
|
51
|
+
long_desc <<-LONGDESC
|
52
|
+
`xapixctl preview stream-processor` will return a preview of the given stream processor.
|
53
|
+
|
54
|
+
The preview function will not call any external data sources but calculate a preview based on the provided sample data.
|
55
|
+
|
56
|
+
Examples:
|
57
|
+
\x5> $ xapixctl preview stream-processor -o xapix -p some-project processor
|
58
|
+
LONGDESC
|
59
|
+
def stream_processor(stream_processor)
|
60
|
+
connection.stream_processor_preview(stream_processor, org: options[:org], project: options[:project], format: options[:format].to_sym) do |res|
|
61
|
+
res.on_success { |preview| puts preview }
|
62
|
+
res.on_error { |err, result| warn_api_error('could not fetch preview', err, result) }
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/xapixctl/version.rb
CHANGED
data/xapixctl.gemspec
CHANGED
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.authors = ["Michael Reinsch"]
|
9
9
|
spec.email = ["michael@xapix.io"]
|
10
10
|
|
11
|
-
spec.summary =
|
11
|
+
spec.summary = 'xapix client library and command line tool'
|
12
12
|
spec.homepage = "https://github.com/xapix-io/xapixctl"
|
13
13
|
spec.license = "EPL-2.0"
|
14
14
|
|
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
|
|
17
17
|
|
18
18
|
# Specify which files should be added to the gem when it is released.
|
19
19
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
20
|
-
spec.files
|
20
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
21
21
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
22
22
|
end
|
23
23
|
spec.bindir = "exe"
|
@@ -26,11 +26,11 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_dependency "activesupport", ">= 5.2.3", "< 6.0.0"
|
28
28
|
spec.add_dependency "rest-client", ">= 2.1.0", "< 3.0.0"
|
29
|
-
spec.add_dependency "thor", ">= 0.
|
29
|
+
spec.add_dependency "thor", ">= 1.0.0", "< 1.1.0"
|
30
30
|
|
31
31
|
spec.add_development_dependency "bundler", "~> 1.17.3"
|
32
32
|
spec.add_development_dependency "rake", "~> 13.0"
|
33
33
|
spec.add_development_dependency "relaxed-rubocop", "~> 2.5"
|
34
34
|
spec.add_development_dependency "rspec", "~> 3.0"
|
35
|
-
spec.add_development_dependency "rubocop", "~> 0.
|
35
|
+
spec.add_development_dependency "rubocop", "~> 0.89"
|
36
36
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xapixctl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Reinsch
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -56,20 +56,20 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - ">="
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: 0.
|
59
|
+
version: 1.0.0
|
60
60
|
- - "<"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: 1.
|
62
|
+
version: 1.1.0
|
63
63
|
type: :runtime
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
69
|
+
version: 1.0.0
|
70
70
|
- - "<"
|
71
71
|
- !ruby/object:Gem::Version
|
72
|
-
version: 1.
|
72
|
+
version: 1.1.0
|
73
73
|
- !ruby/object:Gem::Dependency
|
74
74
|
name: bundler
|
75
75
|
requirement: !ruby/object:Gem::Requirement
|
@@ -132,14 +132,14 @@ dependencies:
|
|
132
132
|
requirements:
|
133
133
|
- - "~>"
|
134
134
|
- !ruby/object:Gem::Version
|
135
|
-
version: 0.
|
135
|
+
version: '0.89'
|
136
136
|
type: :development
|
137
137
|
prerelease: false
|
138
138
|
version_requirements: !ruby/object:Gem::Requirement
|
139
139
|
requirements:
|
140
140
|
- - "~>"
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version: 0.
|
142
|
+
version: '0.89'
|
143
143
|
description:
|
144
144
|
email:
|
145
145
|
- michael@xapix.io
|
@@ -161,8 +161,10 @@ files:
|
|
161
161
|
- bin/setup
|
162
162
|
- exe/xapixctl
|
163
163
|
- lib/xapixctl.rb
|
164
|
+
- lib/xapixctl/base_cli.rb
|
164
165
|
- lib/xapixctl/cli.rb
|
165
166
|
- lib/xapixctl/phoenix_client.rb
|
167
|
+
- lib/xapixctl/preview_cli.rb
|
166
168
|
- lib/xapixctl/version.rb
|
167
169
|
- xapixctl.gemspec
|
168
170
|
homepage: https://github.com/xapix-io/xapixctl
|