dip 3.4.0 → 3.4.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 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