nex_client 0.8.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7e474dbd2d706429e88588528a051b2a6ad13b9
4
- data.tar.gz: 752ea05fe2035617a3109c9f40561f608c22b358
3
+ metadata.gz: 3837e3133c42a8c3735aae86123e048b5ec939d0
4
+ data.tar.gz: 2942fc4186c219f2d5759528bad9d14ed8d12d02
5
5
  SHA512:
6
- metadata.gz: ddb0bde5e0b11d5638d11813c6e09f88fd8a57821ab1a2c1e1eb2c6aef91f56274b676f70ad62552344a662b4fd907c8f576c6bab2a5450395efa8e75da9d556
7
- data.tar.gz: 61194baa999f2fdf7cedbb34b981f8bc0bbc28369ec534e7eff9a0f0f02d511f34f0bb05e5ea0a2f97d993a65d61ab3edec90dab7e579267cb4ee445f0785061
6
+ metadata.gz: 68749c7e6061043bc4671add57f9d9cd4630cfa66df639b5332e318c1ed49e8779042f6bea0f1328fbff77780d10afd7caba75283578048feb2f7ce5a034f899
7
+ data.tar.gz: 28b49d85667fcde6ed8e08d036e601417aebac98ccd00a5c9ffb22c28f7c7f4bfe63475875b31c03c505cad5e8c8a7b1b22a0021bf38f0e82dfb25f06d5efe82
@@ -121,7 +121,7 @@ module NexClient
121
121
  c.description = 'Create new docker applications'
122
122
  c.example 'create new rails application', 'nex-cli apps:create rails'
123
123
  c.option '--env MYVAR=value,MYVAR2=value,...', Array, 'comma separated list of env variables'
124
- c.option '--env-file FILE', 'newline separated list of env variables'
124
+ c.option '--env-file FILE', String, 'newline separated list of env variables (MYVAR=1) or YAML file'
125
125
  c.option '--no-ssl', 'disable SSL support (enabled by default)'
126
126
  c.option '--storage', 'enable persistent storage (/!\ only one node allowed)'
127
127
  c.option '--owner ORGANIZATION_HANDLE', 'specify an organisation as owner (organization admin only)'
@@ -238,6 +238,7 @@ module NexClient
238
238
  c.example 'Delete env variables from myapp', 'nex-cli apps:vars myapp --delete MYVAR,MYVAR'
239
239
  c.option '--add MYVAR=value,MYVAR2=value,...', Array, 'comma separated list of env variables'
240
240
  c.option '--delete MYVAR,MYVAR2,...', Array, 'comma separated list of env variables'
241
+ c.option '--env-file FILE', String, 'newline separated list of env variables (MYVAR=1) or YAML file'
241
242
  c.action do |args, options|
242
243
  NexClient::Commands::Apps.manage_vars(args,options)
243
244
  end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+ require 'yaml'
2
3
 
3
4
  module NexClient
4
5
  module Commands
@@ -109,10 +110,8 @@ module NexClient
109
110
 
110
111
  # Env variables from file
111
112
  if opts.env_file.present?
112
- f = File.read(opts.env_file)
113
113
  attrs[:vars] ||= {}
114
- f.split('\n').each do |e|
115
- key,val = e.split('=',2)
114
+ self.vars_from_file(opts.env_file) do |key,val|
116
115
  attrs[:vars][key] = val
117
116
  end
118
117
  end
@@ -260,7 +259,7 @@ module NexClient
260
259
  end
261
260
 
262
261
  # Add/Delete vars
263
- if opts.add.present? || opts.delete.present?
262
+ if opts.add.present? || opts.delete.present? || opts.env_file.present?
264
263
  vars = (e.vars || {}).dup
265
264
 
266
265
  # Add vars
@@ -269,6 +268,13 @@ module NexClient
269
268
  vars[key] = val
270
269
  end
271
270
 
271
+ # Add vars from file
272
+ if opts.env_file.present?
273
+ self.vars_from_file(opts.env_file) do |key,val|
274
+ vars[key] = val
275
+ end
276
+ end
277
+
272
278
  # Delete vars
273
279
  (opts.delete || []).each { |k| vars.delete(k) }
274
280
 
@@ -367,6 +373,24 @@ module NexClient
367
373
  return '-' unless record.node_count && record.max_node_count
368
374
  "#{record.node_count}/#{record.max_node_count}"
369
375
  end
376
+
377
+ def self.vars_from_file(file,&block)
378
+ # YAML file
379
+ if file =~ /(\.yml|\.yaml)$/
380
+ vars = YAML.load_file(file)
381
+ vars.each do |k,v|
382
+ yield(k,v)
383
+ end
384
+ else
385
+ f = File.read(file)
386
+ f.split("\n").each do |e|
387
+ line = e.strip
388
+ next if line.empty? || line.start_with?('#')
389
+ key,val = e.split('=',2)
390
+ yield(key,val)
391
+ end
392
+ end
393
+ end
370
394
  end
371
395
  end
372
396
  end
@@ -1,3 +1,3 @@
1
1
  module NexClient
2
- VERSION = '0.8.0'
2
+ VERSION = '0.9.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nex_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arnaud Lachaume
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-26 00:00:00.000000000 Z
11
+ date: 2016-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json_api_client