docker_core 0.0.11 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
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: []