dip 3.4.0 → 3.4.1

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
  SHA256:
3
- metadata.gz: f6b63ce6f69f4354b803173e399cb4f60578424af67138b7414374a5b72f459d
4
- data.tar.gz: c1d60e9f4967bd4646b8c25eddf78f73c50573f2c8a0ecb8fd4124ec43356759
3
+ metadata.gz: f20dbfd7641a1820ae40df24486eb9a5c406263dd4e6505a180dc9c608907162
4
+ data.tar.gz: 28fc371a9a4f953d5f6beb06d023ea63e7feb94ec7c68559f134a86c369c2276
5
5
  SHA512:
6
- metadata.gz: '0315179aee1699c6e95ab45adb50d41a4ee672830c325f82f5e1e5fb99dde1080e89f728507b81b6b92d3a24db0161e290f85c9e32768aa0ef15b1bf7ef9c943'
7
- data.tar.gz: dde2a5dc5f9c9ba5560a596ab0c3e4a8ce7793f66968bf618354063dedeae96ef988ed544b817ffd2744bdcd7aaa4d58346b2e035fbac4f7812cd28aad24e2af
6
+ metadata.gz: 6a681f1c2a369f362360e94e6535e8df78cedc62d146d78fe6b7d65ecd901c366618faec79f74504aa17511a6ec28d29cb8f367296f653a4eed7506ef1162e3d
7
+ data.tar.gz: 48e7d213640ab4aaf879918e3a3600e8c06c1026e870a1a2c881447dfc5d48e93a25dcb63965ee47823049eda32cfb8655d60fd5e1fe2c460428269394a7cf87
data/exe/dip CHANGED
@@ -20,7 +20,7 @@ Signal.trap('INT') do
20
20
  end
21
21
 
22
22
  begin
23
- Dip::CLI.start(Dip::RunVars.call(ARGV, ENV))
23
+ Dip::CLI.start(ARGV)
24
24
  rescue Dip::Error => err
25
25
  puts "ERROR: #{err.message}"
26
26
  exit 1
data/lib/dip/cli.rb CHANGED
@@ -11,6 +11,10 @@ module Dip
11
11
 
12
12
  super
13
13
  end
14
+
15
+ def start(argv)
16
+ super Dip::RunVars.call(argv, ENV)
17
+ end
14
18
  end
15
19
 
16
20
  stop_on_unknown_option! :up
@@ -61,18 +65,12 @@ module Dip
61
65
  desc 'CMD or dip run CMD [OPTIONS]', 'Run configured command in a docker-compose service'
62
66
  method_option :help, aliases: '-h', type: :boolean,
63
67
  desc: 'Display usage information'
64
- method_option :x_dip_run_vars,
65
- type: :hash,
66
- desc: "Enforce environment variables into container, recommended run like 'dip FOO=bar cmd'"
67
68
  def run(cmd, subcmd = nil, *argv)
68
69
  if options[:help]
69
70
  invoke :help, ['run']
70
71
  else
71
72
  require_relative 'commands/run'
72
- Dip::Commands::Run.
73
- new(cmd, subcmd, argv,
74
- run_vars: options[:x_dip_run_vars]).
75
- execute
73
+ Dip::Commands::Run.new(cmd, subcmd, argv).execute
76
74
  end
77
75
  end
78
76
 
@@ -7,11 +7,10 @@ require_relative 'compose'
7
7
  module Dip
8
8
  module Commands
9
9
  class Run < Dip::Command
10
- def initialize(cmd, subcmd = nil, argv = [], run_vars: nil)
10
+ def initialize(cmd, subcmd = nil, argv = [])
11
11
  @cmd = cmd.to_sym
12
12
  @subcmd = subcmd.to_sym if subcmd
13
13
  @argv = argv
14
- @run_vars = run_vars
15
14
  @config = ::Dip.config.interaction
16
15
  end
17
16
 
@@ -54,9 +53,10 @@ module Dip
54
53
  end
55
54
 
56
55
  def run_vars
57
- return [] unless @run_vars
56
+ run_vars = Dip::RunVars.env
57
+ return [] unless run_vars
58
58
 
59
- @run_vars.map { |k, v| ["-e", "#{k}=#{v}"] }.flatten
59
+ run_vars.map { |k, v| ["-e", "#{k}=#{v}"] }.flatten
60
60
  end
61
61
  end
62
62
  end
data/lib/dip/run_vars.rb CHANGED
@@ -2,60 +2,52 @@
2
2
 
3
3
  module Dip
4
4
  class RunVars
5
- attr_reader :argv, :env, :early_envs, :env_vars, :result_argv
5
+ attr_reader :argv, :env
6
6
 
7
- def self.call(*args)
8
- new(*args).call
7
+ class << self
8
+ attr_accessor :env
9
+
10
+ def call(*args)
11
+ new(*args).call
12
+ end
9
13
  end
10
14
 
11
15
  def initialize(argv, env = ENV)
12
16
  @argv = argv
13
17
  @env = env
14
- @env_vars = {}
15
- @result_argv = []
18
+ self.class.env = {}
16
19
  end
17
20
 
18
21
  def call
19
22
  extract_new_env_vars
20
- extract_passed_env_vars
21
-
22
- result_argv.push(*argv_env_vars) unless env_vars.empty?
23
-
24
- result_argv
25
- end
26
-
27
- private
28
-
29
- def extract_new_env_vars
30
- early_envs = env['DIP_EARLY_ENVS'].to_s
31
- return if early_envs.empty?
32
-
33
- (env.keys - early_envs.split(',')).each do |key|
34
- next if key.start_with?("DIP_")
35
23
 
36
- env_vars[key] = env[key]
37
- end
38
- end
39
-
40
- def extract_passed_env_vars
41
24
  stop_parse = false
25
+ result_argv = []
42
26
 
43
27
  argv.each do |arg|
44
28
  if !stop_parse && arg.include?("=")
45
29
  key, val = arg.split("=", 2)
46
- env_vars[key] = val
30
+ self.class.env[key] = val
47
31
  else
48
32
  result_argv << arg
49
33
  stop_parse ||= true
50
34
  end
51
35
  end
36
+
37
+ result_argv
52
38
  end
53
39
 
54
- def argv_env_vars
55
- result = env_vars.map { |key, val| "#{key}:#{val}" }
56
- result[0] = "--x-dip-run-vars=#{result[0]}"
40
+ private
57
41
 
58
- result
42
+ def extract_new_env_vars
43
+ early_envs = env['DIP_EARLY_ENVS'].to_s
44
+ return if early_envs.empty?
45
+
46
+ (env.keys - early_envs.split(',')).each do |key|
47
+ next if key.start_with?("DIP_") || key.start_with?("_")
48
+
49
+ self.class.env[key] = env[key]
50
+ end
59
51
  end
60
52
  end
61
53
  end
data/lib/dip/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dip
4
- VERSION = "3.4.0"
4
+ VERSION = "3.4.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dip
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - bibendi