file_pool 0.6.0 → 0.6.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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 6c82e118048a3641ff3e4e198f307d4261710a78460d94da4ef8af301db1ee60
4
+ data.tar.gz: a3fbfaf25d682fc566625dbb79cc1299dc28746d9ae3fc98fe7f1ff34b1be908
5
+ SHA512:
6
+ metadata.gz: dfba8079bbc28eba69f003c11760773e84229242b20017d7da27561482ec5fc7b0ebaa504e50bece0ddf4e0ceea62a210693a67f66a33051b4bd28e73dee11bb
7
+ data.tar.gz: a36cb6452d696257f68c32cf5116dc472f6fb60015b96c399dc4c0e6f3b0029978414f7c5b92a865af871f37e580cf9f8b5d67748aad06ffdc1fc2d120a66772
@@ -92,9 +92,11 @@ module FilePool
92
92
  FileUtils.mkpath(id2dir newid)
93
93
  end
94
94
 
95
- if !@@copy_source and (File.stat(path).dev == File.stat(File.dirname(target)).dev)
95
+ # try quick hard-linking, copy if forced or hard-linking impossible
96
+ begin
97
+ raise Errno::EXDEV if @@copy_source
96
98
  FileUtils.link(path, target)
97
- else
99
+ rescue Errno::EXDEV
98
100
  FileUtils.copy(path, target)
99
101
  end
100
102
 
@@ -154,10 +156,14 @@ module FilePool
154
156
  end
155
157
 
156
158
  child = fork do
159
+ target = path(newid)
157
160
  # create the target file to write
158
- open(path(newid),'w') do |out_stream|
161
+ open(target,'w') do |out_stream|
159
162
  encrypt in_stream, out_stream
160
163
  end
164
+
165
+ FileUtils.chmod(@@mode, target) if @@mode
166
+ FileUtils.chown(@@owner, @@group, target)
161
167
  end
162
168
 
163
169
  Process.detach(child)
@@ -1,3 +1,3 @@
1
1
  module FilePool
2
- VERSION = "0.6.0"
2
+ VERSION = "0.6.1"
3
3
  end
metadata CHANGED
@@ -1,104 +1,77 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: file_pool
3
- version: !ruby/object:Gem::Version
4
- hash: 7
5
- prerelease:
6
- segments:
7
- - 0
8
- - 6
9
- - 0
10
- version: 0.6.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.1
11
5
  platform: ruby
12
- authors:
13
- - "robokopp (Robert Anni\xC3\xA9s)"
6
+ authors:
7
+ - robokopp (Robert Anniés)
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2019-02-12 00:00:00 +01:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
11
+ date: 2019-10-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
22
14
  name: uuidtools
23
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 15
30
- segments:
31
- - 2
32
- - 1
33
- - 2
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
34
19
  version: 2.1.2
35
20
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: pry
39
21
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 2.1.2
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
43
31
  - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
49
34
  type: :development
50
- version_requirements: *id002
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
51
41
  description: |
52
42
  FilePool helps to manage a large number of files in a Ruby
53
43
  project. It takes care of the storage of files in a balanced directory
54
44
  tree and generates unique identifiers for all files.
55
-
56
- email:
45
+ email:
57
46
  - robokopp@fernwerk.net
58
47
  executables: []
59
-
60
48
  extensions: []
61
-
62
- extra_rdoc_files:
49
+ extra_rdoc_files:
50
+ - README.md
51
+ files:
63
52
  - README.md
64
- files:
65
53
  - lib/file_pool.rb
66
54
  - lib/file_pool/version.rb
67
- - README.md
68
- has_rdoc: true
69
55
  homepage: https://github.com/robokopp/file_pool
70
56
  licenses: []
71
-
57
+ metadata: {}
72
58
  post_install_message:
73
59
  rdoc_options: []
74
-
75
- require_paths:
60
+ require_paths:
76
61
  - lib
77
- required_ruby_version: !ruby/object:Gem::Requirement
78
- none: false
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- hash: 3
83
- segments:
84
- - 2
85
- - 0
86
- version: "2.0"
87
- required_rubygems_version: !ruby/object:Gem::Requirement
88
- none: false
89
- requirements:
62
+ required_ruby_version: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.0'
67
+ required_rubygems_version: !ruby/object:Gem::Requirement
68
+ requirements:
90
69
  - - ">="
91
- - !ruby/object:Gem::Version
92
- hash: 3
93
- segments:
94
- - 0
95
- version: "0"
70
+ - !ruby/object:Gem::Version
71
+ version: '0'
96
72
  requirements: []
97
-
98
- rubyforge_project:
99
- rubygems_version: 1.6.2
73
+ rubygems_version: 3.0.6
100
74
  signing_key:
101
- specification_version: 3
75
+ specification_version: 4
102
76
  summary: Manage a large number files in a pool
103
77
  test_files: []
104
-