docker_core 0.0.11 → 0.0.15

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/docker_core.rb +30 -6
  3. metadata +15 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 07652f554831c30520e7d9d2c0c5b596d86bc59a9c6f036135aa01dc7827efb6
4
- data.tar.gz: c959b71d67090e58b04ae12339820d02d9cb25423ef9dbab3f8fc5fb9edb3901
3
+ metadata.gz: e58b595913f6f5ba87bf4aade3c20a473c515b564df1f81a232e9ad869e54f1b
4
+ data.tar.gz: c5cc50ba7436949f4c8b699cb304d6fddddf467326739142015d54ccc77f1933
5
5
  SHA512:
6
- metadata.gz: 72d58e8f2681e6b627910ddc3851c3edd5df5e181f999b68b2f6ae1d6bc4b8403a6f2eebc2339bdbbf346bb5b82ecfcd872a141e9fb9dfbb8c30235e7f22bbdc
7
- data.tar.gz: ba790d7e31586ef043a04c287d4517f1bce071a26518748d1d75623f7e3ef56b55f82ecc8803367a32237ac42b88ee4989f28196a72f0c3eedb46b37c124a207
6
+ metadata.gz: 9ed2acdd8d6d18c99106dcec536a879766ab54a36c93d21b6d0e2c3661cfc33eeb28be6ccb17717e36aa98119b38211e27b11d2bd2bd84ca49c0beb3f8c43977
7
+ data.tar.gz: cbdd8061e1872c87c8ef72de0fbccfd0d33fa5f1283b4832157563a3702fc9b085b2789cede7d7d6bd1eedff945a82cc0ceb8fe0af4447562aec52ace5d6d435
data/lib/docker_core.rb CHANGED
@@ -44,6 +44,13 @@ module DockerCore
44
44
  end
45
45
  end
46
46
 
47
+ # @param [String] command
48
+ # @param [Boolean] force
49
+ def self.suexec(command, force: false)
50
+ command = "su-exec core #{command}"
51
+ self.run(command, force: force)
52
+ end
53
+
47
54
  # @param [Integer] uid
48
55
  # @param [Integer] gid
49
56
  def self.update_user(uid: 500, gid: 500)
@@ -57,7 +64,7 @@ module DockerCore
57
64
 
58
65
  # @param [Array<String>] arguments
59
66
  def self.path(*arguments)
60
- return Dir[*arguments].map { |item| File.path(item) }.uniq
67
+ return Dir.glob(arguments.flatten, File::FNM_DOTMATCH).map { |item| File.path(item) }.uniq
61
68
  end
62
69
 
63
70
  # @param [Array<String>] arguments
@@ -76,13 +83,23 @@ module DockerCore
76
83
 
77
84
  # @param [Array<String>] arguments
78
85
  def self.mkdir(*arguments, mode: nil)
79
- self.path(*arguments).each do |path|
86
+ stack = []
87
+ paths = arguments.map { |path| File.path(path) }.uniq
88
+
89
+ paths.each do |path|
90
+ until path == stack.last
91
+ stack << path
92
+ path = File.dirname(path)
93
+ end
94
+ end
95
+
96
+ stack.uniq.each do |path|
80
97
  if File.exist?(path) && false == File.directory?(path)
81
98
  File.delete(path)
82
99
  end
83
-
84
- FileUtils.mkdir_p(path, mode: mode)
85
100
  end
101
+
102
+ FileUtils.mkdir_p(paths, mode: mode)
86
103
  end
87
104
 
88
105
  # @param [Array<String>] arguments
@@ -92,6 +109,13 @@ module DockerCore
92
109
  end
93
110
  end
94
111
 
112
+ # @param [String, Array<String>] source
113
+ # @param [String] target
114
+ def self.mv(source, target)
115
+ source = [source].flatten
116
+ FileUtils.mv(self.path(*source), target)
117
+ end
118
+
95
119
  # @param [String] value
96
120
  def self.to_boolean(value)
97
121
  return %w[true yes on].include?("#{value}".strip.downcase)
@@ -176,7 +200,7 @@ module DockerCore
176
200
  if entry.file?
177
201
  self.mkdir(File.dirname(file))
178
202
  File.binwrite(file, entry.read)
179
- FileUtils.chmod(mode, file)
203
+ self.chmod(mode, file)
180
204
  next
181
205
  end
182
206
  end
@@ -202,7 +226,7 @@ module DockerCore
202
226
  # @type [Gem::Package::TarWriter] writer
203
227
  Gem::Package::TarWriter.new(io) do |writer|
204
228
  # @type [String] file
205
- Dir[File.join(path, '**/*')].each do |name|
229
+ self.path(File.join(path, '**/*')).each do |name|
206
230
  mode = File.stat(name).mode
207
231
  file = name.slice(offset ..)
208
232
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - agrozyme
@@ -14,44 +14,44 @@ dependencies:
14
14
  name: fileutils
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: json
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: zlib
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: '1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '1'
55
55
  description:
56
56
  email:
57
57
  executables: []
@@ -60,7 +60,8 @@ extra_rdoc_files: []
60
60
  files:
61
61
  - lib/docker_core.rb
62
62
  homepage: https://gitlab.com/agrozyme-package/ruby/docker_core
63
- licenses: []
63
+ licenses:
64
+ - Ruby
64
65
  metadata: {}
65
66
  post_install_message:
66
67
  rdoc_options: []