drb_fileserver 0.2.2 → 0.3.2

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: e59d6867b62f30773bbcd561e116174751b71e2c946ffd906a2f7dfe9c197b4f
4
- data.tar.gz: af56b9f11f5c9337203419d111d2866bca95e515569b50e871cc53872547b7a0
3
+ metadata.gz: 60857b7baf6e4185751ab75ccad883185d5f7a845294937b0dfa5b86f6dce678
4
+ data.tar.gz: 7835557e90e110511d284b81279cb0e0d031584a6136fdb2f4f2ca9c8bcf6eba
5
5
  SHA512:
6
- metadata.gz: 22132c132ce6bb1eec3d788e87d57dfddfe2f61fbd81df38d91bd0040017ac2d2d318c4c013fe62efcdcca7382d1b15067a33e0f2f99d5855d815517369bfd9a
7
- data.tar.gz: 57c6aad57d17edb78a13c8686ef786e257e016e0e5130172c2f9048cbaa1a491fc5dac499979dc38f732fa445f822a567edc66b08ef516e37496c37b1c50b711
6
+ metadata.gz: eb729958c3cc5e5e2759fe38753e61c3220bbae9fdc4aac309a1281f52c34b8dbecdab4131e5e701857bd459a48dc0c238a75a89fea2dea81bc2bec8c5af1195
7
+ data.tar.gz: 15e039476c8d3820e2a6210fcb239f649a828802baecfd6502651b8e8cbac106545a8008e7a48098526bb4eda0dbc017d79005252ef54582a6f80f05a27ad543
checksums.yaml.gz.sig CHANGED
Binary file
@@ -10,74 +10,102 @@ require 'fileutils'
10
10
  class DRbFileServer
11
11
 
12
12
  class FileX
13
-
13
+
14
14
 
15
15
  def initialize(path='.')
16
-
16
+
17
17
  @path = path
18
-
18
+
19
+ end
20
+
21
+ def chmod(permissions, filename)
22
+ FileUtils.chmod permissions, File.join(@path, filename)
19
23
  end
20
-
24
+
21
25
  def cp(path, path2)
22
26
  #puts 'cp: ' + [File.join(@path, path), File.join(@path, path2)].inspect
23
27
  FileUtils.cp File.join(@path, path), File.join(@path, path2)
24
- end
25
-
28
+ end
29
+
26
30
  def directory?(filename)
27
31
  File.directory? File.join(@path, filename)
28
- end
29
-
32
+ end
33
+
30
34
  def exists?(filename)
31
35
  File.exists? File.join(@path, filename)
32
36
  end
33
-
34
- def ls(path)
35
- path = File.join(path, '*') if File.exists? File.join(@path, path)
36
- Dir[File.join(@path, path)].map {|x| File.basename(x) }
37
- end
38
-
37
+
38
+ def glob(s)
39
+ Dir.glob(File.join(@path, s))
40
+ end
41
+
42
+ # path can include a wildcard and the switch -ltr
43
+ #
44
+ def ls(rawpath)
45
+
46
+ path, switch = rawpath.split(/\s+/,2)
47
+ wildcard = path.include?('*') ? '' : '*'
48
+ path = File.join(path, wildcard) if File.exists? File.join(@path, path)
49
+
50
+ a = Dir[File.join(@path, path)].map do |x|
51
+
52
+ File.basename(x)
53
+ end
54
+
55
+ if switch == '-ltr' then
56
+ a.sort_by {|x| File.mtime(File.join(@path, File.dirname(path), x)) }
57
+ else
58
+ a
59
+ end
60
+
61
+ end
62
+
39
63
  def mkdir(name)
40
64
  FileUtils.mkdir File.join(@path, name)
41
65
  end
42
-
66
+
43
67
  def mkdir_p(path)
44
68
  FileUtils.mkdir_p File.join(@path, path)
45
69
  end
46
-
70
+
47
71
  def mv(path, path2)
48
72
  FileUtils.mv File.join(@path, path), File.join(@path, path2)
49
- end
50
-
73
+ end
74
+
51
75
  def read(filename)
52
76
  File.read File.join(@path, filename)
53
77
  end
54
-
78
+
55
79
  def rm(filename)
56
80
  FileUtils.rm File.join(@path, filename)
57
- end
58
-
81
+ end
82
+
59
83
  def stop()
60
84
  puts 'stopping DFS service ...'
61
85
  DRb.stop_service
62
86
  'connection closed'
63
87
  end
64
88
 
89
+ def touch(filename, mtime: Time.now)
90
+ FileUtils.touch File.join(@path, filename), mtime: mtime
91
+ end
92
+
65
93
  def write(filename, s)
66
94
  File.write File.join(@path, filename), s
67
95
  end
68
-
69
- # zips a file. Each array items contains a filename, and content to
96
+
97
+ # zips a file. Each array items contains a filename, and content to
70
98
  # be written to the file.
71
99
  #
72
100
  def zip(filename_zip, a)
73
-
101
+
74
102
  Zip::File.open(filename_zip, Zip::File::CREATE) do |x|
75
103
 
76
- a.each do |filename, buffer|
104
+ a.each do |filename, buffer|
77
105
  x.get_output_stream(filename) {|os| os.write buffer }
78
106
  end
79
107
 
80
- end
108
+ end
81
109
  end
82
110
 
83
111
  end
data.tar.gz.sig CHANGED
@@ -1,2 +1,3 @@
1
- +��:yO]gM���a��(%�X��������uCJ�1�>C?U�� G�%���N���0B��,�_���VT�G��C���+���0��"Fr
2
- ��ƽ������=��'���63�?�ze���-Ex2GR4�*kHa��=5�r�Z0h�
1
+ D��`��;�$�����Q���+�?��`�����{$.��Gq���4|Gһ-,�[�����S�,�r���$����$B��U�����y1�S�,S�K-!�>�5}�&�-ew h)��`�<����W0n ��>�uzo�9�����z�Ŵ�/���%\خ���=ϯA��|
2
+ ���ym_D�k�\r��'�x��?+7���#�v':�?�ܢXZ�����ߍ��
3
+ X"*$���'ti�W4�ӱ�P��^��8�C��+��>h�# �9��bK������AzG�!g7{�Z[ƏD��4Ҡï;���]U��}>��V��:\��O!���hE����J)B�ej5�Ο�E<%��wqF�<�����
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drb_fileserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -11,34 +11,34 @@ cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
13
  MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkwMjE4MTMxNjEwWhcN
15
- MjAwMjE4MTMxNjEwWjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDARzy0
17
- Jaw6KLJSJiHmGfjZa8dJMc734ftdptan72Iz1W6hUSbTTov3E9vldNglu0jOqSuA
18
- HNdouRwwrT8JahoHWd+Wda5SERlvOB5RX8RnyVDS3Yv85JbwEC0nM0zlV7DSGpi2
19
- S9E3e2b8HTA5chs77ajakR4pZ4g/HhlGhB1hzxrIo8ry2+OC8SSpXY7qEiQZR+eq
20
- OvpfFr7uCoW0R3cCNXfw5OJX8yAO/kt7YHR8GkO9EoxJwkIrd6XkzVrT/uWujq4K
21
- +TPTVUz16QHi/P/cG/bxL/6D6OJAoRkUpoAsnx7+pluD+3ihUegDkbNWnCtvwOhC
22
- McvFonyX0Meq9zRlO+AAVkM1TaKKC2uahHDxiltu/PMJq1DkCyF7u5f06NmBrPH6
23
- 38VxFlOQgoA0YwVM55tTeNM0cyC5Gp3YDmOr2qconjA6uaeuo7s2GoMFrzk97LWr
24
- 1HuSVfZ3OS9jeVapz5TgnHzfKndQidJSCAwEOo+vkWO1HEhw1av3BdfXdW0CAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUiPp5Of0N
26
- EpSIbY9zoMzG7pwZe4AwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjIwMTE3MjEwMzU1WhcN
15
+ MjMwMTE3MjEwMzU1WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDXlGpp
17
+ 7ly4n1m/THX96QA1W/3ZqNYwirvMBAPIbdkFhuB0UaMPwTbT1cLr88zCCr/PpkHW
18
+ gI3hsHu0OorsmXe+dZlAorKtPmFs67XygzV7DV8X3EK1fsAem7+SUtO05KwQkG7m
19
+ kv83q7Vf49EmlB7rOws6cHjxC8tjqDDiK182C7rwRCdRPBP6WuBnlK6pcVZZuTID
20
+ XPeSonG+eNhsMlCD6mdrD6XgiCv5GU+cb1VF4SSDGfs+xvWZQBLg6uazVK6rJaQM
21
+ q0ugHq1TMDB+X/om711WirjxDrrgoBL/gECCE7e4MJ0MhjU5n39ppqBqnNSqK8Iq
22
+ C6ReOLeq0Krk94+5yBKH2LU24i9u4EFYF9RG4twUz+3EwpfZpfjbxpWiKntA1/Vi
23
+ ZcD35HJq2Wl1m2lFyf3M+jQXHtSL0nmidzGIX8Z8tXPY5Ovz8Ow3YEO+rnggLnh5
24
+ n0yPWvSPfWw+kt5LjjEOatk4XYoRa5vxguyGdRJspexzYdzfi1FvUohbt6ECAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUr6ARZjQY
26
+ f1iWaZlS1cQIb5EVB+swJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
27
  c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEASJ4uSajhnhuD4l2cZyeZeEczVznAordctrdf9fun
29
- 02WoIUQ99GlkueGAY5d3PClFgmgrIZxfX9O2lW6Gx+omPDBM1kWScy7V8BoK9S+3
30
- +nObtGiGqP1lj7YWlKjpvpGAnilNtAhlGoYyAP1Dfz7a8sDw160642cwZ3eoq58v
31
- +kPyhrn9nJUrUsu7XZTaBxk037BbUyuY/bbwJvJjvpkZ/uzmkl5yho/BKmfbSb82
32
- h8We9avb0gdSUjn5Bvv+fFXmxA3xxIpa/0XorTkyw+xEI7EfHKwFF7OjScGVGaka
33
- +3ZGAKoNBXpYPQ/geXTVR38a5dFyMHnTyaKn7bFL3vCKKXadp29IjG9fuVZt4bpo
34
- NfQNqNz1m8QhWA1JZj4M1qGXY+V0hQi6qd7JHHm5r5TtRzn7yM1Sd7O4Ev1aLyMz
35
- CYk9iqpRnQJDnjCVAE3UbYCDhkJPASVjCdwNhKUUKiwlI14QHfOn9xxOTD26YWWx
36
- cRdPsJYHMjfHdDDxkkkgPxTk
28
+ BgkqhkiG9w0BAQsFAAOCAYEAda7EErIZdM56ihtjN4VXQHkmOOSRAJz778Ll0Khv
29
+ x8yEtx+UKdbl4XqL0sFcRley2hvhyls8XuXT2K/ejeIMcQVpX3q+/X69uYQ7nX8r
30
+ xsl1MS9oZ7XQR3PvZRO5QVGNts8I1N8R5GdsOE+CEEQ1LTYyDM2JZTjC51BQKThG
31
+ yxIFaUF1Sn6GqawvvZ/ZwyAui1a6C27HiBS06MaSlU8CzqvTKt1z/aaKW+MN+qTf
32
+ IN11X/ZFHkyySLT+dw0ByRHdpJ0zQ7suBSmWYYRRJn/6GY+IxNwGOAkWwyhbpUwP
33
+ 9dJEdOYa6jyG5G41VAV2znh75ldFmlG5E/n62i+ypwYhlwN+JAL5xtsA4hUJh4NY
34
+ 1g1U2EAJ03EuVmtt0BZupisXbS7DoMIN3KfBcopvlE8udGR+nSWoYQ3V49ip25XF
35
+ NN/dgV7x5FeaVb48TfoueqzxcT0Ga1Lhb/XQIX1yRPpvuBHlVeLpNByFHEf5U1Z0
36
+ 8KciEAIqvYPTLfwcYW9z60vK
37
37
  -----END CERTIFICATE-----
38
- date: 2019-02-18 00:00:00.000000000 Z
38
+ date: 2022-02-08 00:00:00.000000000 Z
39
39
  dependencies: []
40
40
  description:
41
- email: james@jamesrobertson.eu
41
+ email: digital.robertson@gmail.com
42
42
  executables: []
43
43
  extensions: []
44
44
  extra_rdoc_files: []
@@ -63,7 +63,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  - !ruby/object:Gem::Version
64
64
  version: '0'
65
65
  requirements: []
66
- rubygems_version: 3.0.1
66
+ rubyforge_project:
67
+ rubygems_version: 2.7.10
67
68
  signing_key:
68
69
  specification_version: 4
69
70
  summary: A DRb server to read or write local files.
metadata.gz.sig CHANGED
Binary file