bld 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/bin/bld +1 -1
  3. data/bin/build +1 -1
  4. data/lib/commands.rb +44 -5
  5. metadata +65 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23ca92095150f9e2e36d9a2b64946ab21047349387aa7a6eebefc10e7f8227d3
4
- data.tar.gz: f46aba8b557a61ee3ac3b41c366a1be1ea3c608e82e8cbf5ef8d1851fca7022d
3
+ metadata.gz: 0a83ec4051e6559929aaf5a9bd63b4942e720a38e1646585b45dd92118dd9c64
4
+ data.tar.gz: 4830cfc9f99c939fe2d6d5cf5cb51d8f1944006d9cd100398def42bb9f2b53f5
5
5
  SHA512:
6
- metadata.gz: 5ca6e41446dbceea06b380d9e47b57e5b5b585f3b6a238c8c50d8a24c4bd6b613619771aa13d538cc7fe5c9f0c2cf63024a78a88a5d46f61048b05969fd089b7
7
- data.tar.gz: d5a535ce8825b02b2d91f4df6fea86f71ccd3f58b285708cd3b21ecff065d8f58be849d973838f208a6cba5f7c79756f3227cfce9cae885acdeb06aad0206856
6
+ metadata.gz: 3f46dbef1d40982c49622fae11a1ac9c3122e0e6c976daad1140e1d2c560edafbdd65a0dd9419ba54b03e732502e6235e32158ce6ea574a1e7eb18d073867128
7
+ data.tar.gz: d731e18fecd9c703d9bc992ffbcaf467d877ad5dd9601f9f42b774cb576268eb67c56b451d02231df21510d1cccb8390fdb990a31da70a21ad4f4fac540588de
data/bin/bld CHANGED
@@ -20,7 +20,7 @@ class BuildCLI
20
20
 
21
21
  def run
22
22
  program :name, 'Build CLI'
23
- program :version, '0.1.6'
23
+ program :version, '0.1.7'
24
24
  program :description, "Build's Command Line Interface"
25
25
  program :int_block, -> { exit }
26
26
  default_command :help
data/bin/build CHANGED
@@ -20,7 +20,7 @@ class BuildCLI
20
20
 
21
21
  def run
22
22
  program :name, 'Build CLI'
23
- program :version, '0.1.6'
23
+ program :version, '0.1.7'
24
24
  program :description, "Build's Command Line Interface"
25
25
  program :int_block, -> { exit }
26
26
  default_command :help
data/lib/commands.rb CHANGED
@@ -2,6 +2,41 @@
2
2
  class BuildCLICommands
3
3
  def self.index
4
4
  return {
5
+ "ps:restart": {
6
+ cli_details: { :syntax => "build ps:restart -a <app>", :description => "Restart all the processes of an app",
7
+ :options => [["-a", "--app=<value>", String, "(required) app to run command against"]] },
8
+ cli_perform: Proc.new { |args, options|
9
+ app_name = options.app
10
+ if app_name.nil? || app_name.strip == ""
11
+ puts(CLI::UI.fmt("{{red:›}} Error: The following error occurred:"))
12
+ puts(CLI::UI.fmt("{{red:›}} {{gray:Missing required flag app}}"))
13
+ puts(CLI::UI.fmt("{{red:›}} See more help with --help"))
14
+ exit(1)
15
+ end
16
+ user_netrc = Netrc.read
17
+ user_token = user_netrc.[]("build.io")&.password
18
+ if user_token.nil?
19
+ puts(CLI::UI.fmt("{{red:›}} Error: not logged in"))
20
+ exit(1)
21
+ end
22
+ auth = "Bearer #{user_token}"
23
+ query_params = {}
24
+ query_params.[]=(:app, app_name)
25
+ query_string = URI.encode_www_form(query_params)
26
+ res = HTTParty.get("#{ANTIMONY_HOST}/api/cli/command/ps/restart?#{query_string}",
27
+ { headers: { "Authorization" => auth } })
28
+ if res.code != 200
29
+ if res.body.[]("error")
30
+ puts(CLI::UI.fmt("{{red:›}} Error: #{res.body.[]("error")}"))
31
+ exit(1)
32
+ else
33
+ puts(CLI::UI.fmt("{{red:›}} Error: An unknown error occurred"))
34
+ exit(1)
35
+ end
36
+ end
37
+ puts(CLI::UI.fmt("{{v}} Restarted all processes for app {{cyan:#{app_name}}}"))
38
+ },
39
+ },
5
40
  "config": {
6
41
  cli_details: { :syntax => "build config -a <app>", :description => "Get the config variables for an app",
7
42
  :options => [["-a", "--app=<value>", String, "(required) app to run command against"]] },
@@ -28,11 +63,10 @@ class BuildCLICommands
28
63
  if res.code != 200
29
64
  if res.body.[]("error")
30
65
  puts(CLI::UI.fmt("{{red:›}} Error: #{res.body.[]("error")}"))
31
- exit(1)
32
66
  else
33
67
  puts(CLI::UI.fmt("{{red:›}} Error: An unknown error occurred"))
34
- exit(1)
35
68
  end
69
+ exit(1)
36
70
  end
37
71
  JSON.parse(res.body).each { |key, value|
38
72
  puts("#{key}=#{value}")
@@ -214,9 +248,10 @@ class BuildCLICommands
214
248
  exit
215
249
  end
216
250
  (user_token, user_email) = nil
251
+ client_secret = SecureRandom.uuid
252
+ oauth_url = "#{ANTIMONY_HOST}/cli_auth/authorize/#{client_secret}"
253
+ puts(CLI::UI.fmt("Opening browser to {{underline:#{oauth_url}}}"))
217
254
  CLI::UI::Spinner.spin("Waiting for login") { |spinner,|
218
- client_secret = SecureRandom.uuid
219
- oauth_url = "#{ANTIMONY_HOST}/cli_auth/authorize/#{client_secret}"
220
255
  Launchy.open(oauth_url)
221
256
  poll_interval = 1
222
257
  timeout = (5 * 60)
@@ -331,7 +366,11 @@ class BuildCLICommands
331
366
  exit(1)
332
367
  end
333
368
  user_netrc = Netrc.read
334
- user_token = user_netrc.[]("build.io").[](1)
369
+ user_token = user_netrc.[]("build.io")&.password
370
+ if user_token.nil?
371
+ puts(CLI::UI.fmt("{{red:›}} Error: not logged in"))
372
+ exit(1)
373
+ end
335
374
  auth = "Bearer #{user_token}"
336
375
  query_params = {}
337
376
  if options.app
metadata CHANGED
@@ -1,15 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bld
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - usiegl00
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-01 00:00:00.000000000 Z
11
+ date: 2024-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: abbrev
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: base64
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bigdecimal
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: csv
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
13
69
  - !ruby/object:Gem::Dependency
14
70
  name: public_suffix
15
71
  requirement: !ruby/object:Gem::Requirement
@@ -124,22 +180,22 @@ dependencies:
124
180
  name: net-ssh
125
181
  requirement: !ruby/object:Gem::Requirement
126
182
  requirements:
127
- - - "~>"
128
- - !ruby/object:Gem::Version
129
- version: '6.1'
130
183
  - - ">="
131
184
  - !ruby/object:Gem::Version
132
185
  version: 6.1.0
186
+ - - "<="
187
+ - !ruby/object:Gem::Version
188
+ version: 7.2.1
133
189
  type: :runtime
134
190
  prerelease: false
135
191
  version_requirements: !ruby/object:Gem::Requirement
136
192
  requirements:
137
- - - "~>"
138
- - !ruby/object:Gem::Version
139
- version: '6.1'
140
193
  - - ">="
141
194
  - !ruby/object:Gem::Version
142
195
  version: 6.1.0
196
+ - - "<="
197
+ - !ruby/object:Gem::Version
198
+ version: 7.2.1
143
199
  description: CLI for build.io
144
200
  email: 50933431+usiegl00@users.noreply.github.com
145
201
  executables:
@@ -181,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
181
237
  - !ruby/object:Gem::Version
182
238
  version: '0'
183
239
  requirements: []
184
- rubygems_version: 3.4.21
240
+ rubygems_version: 3.5.3
185
241
  signing_key:
186
242
  specification_version: 4
187
243
  summary: build cli