dip 7.6.0 → 7.8.0

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: 077560a05e3c58c34f61f81e80a941a6bb8a88da7b8acc59cb1e8c254985467e
4
- data.tar.gz: 8d7b121d08fb87b68bf375b8651cc60f2e27307267f813ea87faf2eee6f88870
3
+ metadata.gz: 88f631de08ccd575c2e65930de249fbbba598e0948e8335fd9bbb4adf8a455c8
4
+ data.tar.gz: 0d906d4a243285684469524e85a8d494f12a13de58065e1ecf8eaccc6ef85903
5
5
  SHA512:
6
- metadata.gz: 1a00861123026227700fcb92e3ef1fa47f702efcfdd2bbce83363aeca5bedf7d2c669428f5837828c53edcb76975958334689657f2d52df7f8dee3e3991d0a08
7
- data.tar.gz: f2bd7865a209166096b5b9f553da6031ec7192c889f8e6e357a230fd2f9dd9c67259501f358dffde25657370a3f7cf8d628156cbad7d9524ea9505c10ff7c724
6
+ metadata.gz: 51aa9e654715ee7836b9d143760dc028e9f06f811e0804decffc48fffcef4816e78c1f302f2d9af3462faad53a53efa755112804e116278372f447192572a06b
7
+ data.tar.gz: 12521190b37c170b54abaa319c3ad877999c9471f3936a7d732b2bbaeb776b922c28a8ab7d2ccc13322f73294419156f1d6156ccc35c2e1ac5709ac55d0bc8f2
data/README.md CHANGED
@@ -80,7 +80,7 @@ Also, you can check out examples at the top.
80
80
 
81
81
  ```yml
82
82
  # Required minimum dip version
83
- version: '7.5'
83
+ version: '7.7'
84
84
 
85
85
  environment:
86
86
  COMPOSE_EXT: development
@@ -222,6 +222,27 @@ dip run bash -c pwd
222
222
 
223
223
  returned is `/app/sub-project-dir`.
224
224
 
225
+ #### $DIP_CURRENT_USER
226
+
227
+ Exposes the current user ID (UID). It is useful when you need to run a container with the same user as the host machine. For example:
228
+
229
+ ```yml
230
+ # dip.yml (1)
231
+ environment:
232
+ UID: ${DIP_CURRENT_USER}
233
+ ```
234
+
235
+ ```yml
236
+ # docker-compose.yml (2)
237
+ services:
238
+ app:
239
+ image: ruby
240
+ user: ${UID:-1000}
241
+ ```
242
+
243
+ The container will run using the same user ID as your host machine.
244
+
245
+
225
246
  ### dip run
226
247
 
227
248
  Run commands defined within the `interaction` section of dip.yml
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "thor"
4
- require_relative "./base"
4
+ require_relative "base"
5
5
  require_relative "../commands/console"
6
6
 
7
7
  module Dip
data/lib/dip/cli/dns.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "thor"
4
- require_relative "./base"
4
+ require_relative "base"
5
5
  require_relative "../commands/dns"
6
6
 
7
7
  module Dip
data/lib/dip/cli/nginx.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "thor"
4
- require_relative "./base"
4
+ require_relative "base"
5
5
  require_relative "../commands/nginx"
6
6
 
7
7
  module Dip
data/lib/dip/cli/ssh.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "thor"
4
- require_relative "./base"
4
+ require_relative "base"
5
5
  require_relative "../commands/ssh"
6
6
 
7
7
  module Dip
data/lib/dip/cli.rb CHANGED
@@ -28,7 +28,7 @@ module Dip
28
28
  argv.unshift("run")
29
29
  end
30
30
 
31
- super Dip::RunVars.call(argv, ENV)
31
+ super(Dip::RunVars.call(argv, ENV))
32
32
  end
33
33
  end
34
34
 
data/lib/dip/command.rb CHANGED
@@ -11,7 +11,7 @@ module Dip
11
11
  class ProgramRunner
12
12
  def self.call(cmdline, env: {}, **options)
13
13
  if cmdline.is_a?(Array)
14
- ::Kernel.exec(env, cmdline[0], *cmdline[1..-1], **options)
14
+ ::Kernel.exec(env, cmdline[0], *cmdline[1..], **options)
15
15
  else
16
16
  ::Kernel.exec(env, cmdline, **options)
17
17
  end
@@ -5,7 +5,7 @@ require "pathname"
5
5
  module Dip
6
6
  class Environment
7
7
  VAR_REGEX = /\$\{?(?<var_name>[a-zA-Z_][a-zA-Z0-9_]*)\}?/.freeze
8
- SPECIAL_VARS = %i[os work_dir_rel_path].freeze
8
+ SPECIAL_VARS = %i[os work_dir_rel_path current_user].freeze
9
9
 
10
10
  attr_reader :vars
11
11
 
@@ -63,5 +63,9 @@ module Dip
63
63
  def find_work_dir_rel_path
64
64
  @find_work_dir_rel_path ||= Pathname.getwd.relative_path_from(Dip.config.file_path.parent).to_s
65
65
  end
66
+
67
+ def find_current_user
68
+ @find_current_user ||= Process.uid
69
+ end
66
70
  end
67
71
  end
@@ -45,11 +45,11 @@ module Dip
45
45
  cmd = build_command(entry)
46
46
 
47
47
  tree[name] = cmd
48
+ base_cmd = entry.select { |k, _| k != :subcommands }
48
49
 
49
50
  entry[:subcommands]&.each do |sub_name, sub_entry|
50
51
  sub_command_defaults!(sub_entry)
51
-
52
- expand("#{name} #{sub_name}", entry.deep_merge(sub_entry), tree: tree)
52
+ expand("#{name} #{sub_name}", base_cmd.deep_merge(sub_entry), tree: tree)
53
53
  end
54
54
 
55
55
  tree
data/lib/dip/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Dip
4
- VERSION = "7.6.0"
4
+ VERSION = "7.8.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dip
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.6.0
4
+ version: 7.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - bibendi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-14 00:00:00.000000000 Z
11
+ date: 2024-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -210,7 +210,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
210
210
  requirements:
211
211
  - - ">="
212
212
  - !ruby/object:Gem::Version
213
- version: '2.5'
213
+ version: '2.7'
214
214
  required_rubygems_version: !ruby/object:Gem::Requirement
215
215
  requirements:
216
216
  - - ">="