drb_fileserver 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc6bb778745e3c51c443f6bd2e7429488b065f17b142fda9bde95f592223a6d2
4
- data.tar.gz: 2921d03214c0087f67facd420954259193135be04d2406689a2efbb2b67b0697
3
+ metadata.gz: 57357ee7262ab5b5015c729781e950fdacc95628b292f94de34b572147b01e98
4
+ data.tar.gz: e614e13af70d9b2059bb2e9841acbfbbc30815542c69eea3566875a8acc8c15c
5
5
  SHA512:
6
- metadata.gz: f543e099b3b0a4b9074ef769f8f06c66de728297441dba2a4f67cbedded2f7a6c340f66bf27677088cd2b31dba687b2eefeb96de8dce7130731891eb427dfc36
7
- data.tar.gz: b135129c21b487d0c3f3ef5954e6edc0a17c5fae468717885c5bd779fbd9330f7715aaafe930ff93bbd144134e6a7b926aff6c233df3b9fc7fc9e45f2895fee7
6
+ metadata.gz: 75dcbb8869f294f413e989ab06e19aa06c30a6d0f562235e0d2bbef9451607a2ca10a469b8212b149454a762e8d11fda49007a9b2a600cb8644eb3bf16fe9930
7
+ data.tar.gz: 8dd9ef7951da2697e59bb51e73577736c299f9b1a47703c892f454c82fea4dfe45c835c10df04a4a61d7bb81d0ee2dc0997eda562eee09dd15db01e454cef7ee
checksums.yaml.gz.sig CHANGED
Binary file
@@ -11,41 +11,71 @@ class DRbFileServer
11
11
 
12
12
  class FileX
13
13
 
14
+
14
15
  def initialize(path='.')
15
-
16
+
16
17
  @path = path
17
-
18
+
18
19
  end
19
-
20
+
21
+ def chmod(permissions, filename)
22
+ FileUtils.chmod permissions, File.join(@path, filename)
23
+ end
24
+
20
25
  def cp(path, path2)
21
- puts 'cp: ' + [File.join(@path, path), File.join(@path, path2)].inspect
26
+ #puts 'cp: ' + [File.join(@path, path), File.join(@path, path2)].inspect
22
27
  FileUtils.cp File.join(@path, path), File.join(@path, path2)
23
- end
24
-
28
+ end
29
+
30
+ def directory?(filename)
31
+ File.directory? File.join(@path, filename)
32
+ end
33
+
25
34
  def exists?(filename)
26
35
  File.exists? File.join(@path, filename)
27
36
  end
28
-
37
+
38
+ # path can include a wildcard and the switch -ltr
39
+ #
40
+ def ls(rawpath)
41
+
42
+ path, switch = rawpath.split(/\s+/,2)
43
+ wildcard = path.include?('*') ? '' : '*'
44
+ path = File.join(path, wildcard) if File.exists? File.join(@path, path)
45
+
46
+ a = Dir[File.join(@path, path)].map do |x|
47
+
48
+ File.basename(x)
49
+ end
50
+
51
+ if switch == '-ltr' then
52
+ a.sort_by {|x| File.mtime(File.join(@path, File.dirname(path), x)) }
53
+ else
54
+ a
55
+ end
56
+
57
+ end
58
+
29
59
  def mkdir(name)
30
60
  FileUtils.mkdir File.join(@path, name)
31
61
  end
32
-
62
+
33
63
  def mkdir_p(path)
34
64
  FileUtils.mkdir_p File.join(@path, path)
35
65
  end
36
-
66
+
37
67
  def mv(path, path2)
38
68
  FileUtils.mv File.join(@path, path), File.join(@path, path2)
39
- end
40
-
69
+ end
70
+
41
71
  def read(filename)
42
72
  File.read File.join(@path, filename)
43
73
  end
44
-
74
+
45
75
  def rm(filename)
46
76
  FileUtils.rm File.join(@path, filename)
47
- end
48
-
77
+ end
78
+
49
79
  def stop()
50
80
  puts 'stopping DFS service ...'
51
81
  DRb.stop_service
@@ -55,19 +85,19 @@ class DRbFileServer
55
85
  def write(filename, s)
56
86
  File.write File.join(@path, filename), s
57
87
  end
58
-
59
- # zips a file. Each array items contains a filename, and content to
88
+
89
+ # zips a file. Each array items contains a filename, and content to
60
90
  # be written to the file.
61
91
  #
62
92
  def zip(filename_zip, a)
63
-
93
+
64
94
  Zip::File.open(filename_zip, Zip::File::CREATE) do |x|
65
95
 
66
- a.each do |filename, buffer|
96
+ a.each do |filename, buffer|
67
97
  x.get_output_stream(filename) {|os| os.write buffer }
68
98
  end
69
99
 
70
- end
100
+ end
71
101
  end
72
102
 
73
103
  end
data.tar.gz.sig CHANGED
Binary file
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.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,30 +10,35 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwMTIyMjIwMTI1WhcN
15
- MTkwMTIyMjIwMTI1WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYtkPI
17
- 35u8K7VCDpSr1XXSN8qUwNh6FW4J8njNTz76rEX3yVNgwEojpxF9mIe/AyFn5XVJ
18
- ahXDfvxUAqFd4hmsjtEwRHc4EibwL7L56bqj9UMbeVfLXeJFTxfNKvs2DR9yypab
19
- Z+CLBmrw4cdk9Fe5jeC2kPF4KxA9QJgCuEVguEf6Nz6ItBw+xWzerlE3fBvBlrB2
20
- zW6o6kIb1xCrMBrQ2uyVTKJyGv+JGYvb51zpDrp368Z1xR5gUrWudF7MlKlj1Xcq
21
- VQblDDh+L9nwEOf/B5iAKcMro+umskatqm2PZJOTQQtRAhClfCm9Dsn1GWaIpWsk
22
- 9sFtmjcDEq4OcvG9AgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFN3dmurYBcj7M+T5+aB2FIIq/0crMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAKfeDCtrexmeZ28AlOUk
26
- BtMCc/mFHag1p2b0uafeN5MAKrOeIXuXRlDKWH+8WC/LLeGoLCsMPj0rulQ/KolN
27
- qq6n0GkVyCwZm7IrkYIFQfd8UAhR2eShYxYvd1XlSdGBFmamrMtXR27lf9rORXGS
28
- FtsPf1ekLP2Y7HqRsha+1IGVBs5BKKeBAyQqWdY5PSjgKbn7OIXu4v2LrHQ+QJFm
29
- zdVnnUso+fGxW8egxk+eHpMsp5fbfFwRE7mr6dsDyh0GEUqpr5Sx+vboEkj65gfI
30
- oh8JRUlp0l/bIhdntCE1FsAL2D5P1qTBRaWjQxRcccUAO/ZWq2oDICPz0eBNQdKJ
31
- Fqo=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
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
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
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
32
37
  -----END CERTIFICATE-----
33
- date: 2018-08-14 00:00:00.000000000 Z
38
+ date: 2022-01-17 00:00:00.000000000 Z
34
39
  dependencies: []
35
40
  description:
36
- email: james@jamesrobertson.eu
41
+ email: digital.robertson@gmail.com
37
42
  executables: []
38
43
  extensions: []
39
44
  extra_rdoc_files: []
@@ -59,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
59
64
  version: '0'
60
65
  requirements: []
61
66
  rubyforge_project:
62
- rubygems_version: 2.7.6
67
+ rubygems_version: 2.7.10
63
68
  signing_key:
64
69
  specification_version: 4
65
70
  summary: A DRb server to read or write local files.
metadata.gz.sig CHANGED
@@ -1,2 +1,6 @@
1
- I�+9WGQrn
2
- A�?VlO��UX_I×&.�iM�ň_�*�.E_��)�#����Gh���|�����P>�[T��h�O�.�c0[��sq�9�@�;$��&"G��Xb6,^�6���u6�t�/�Β��{��b�+c0��
1
+ l���C^Ql
2
+ 'z��{e=��Z�� yA)�S��Ads�!/����h��?q���!����ToӤ��� nLX� h�" hL����[J�
3
+ �*ɩ�/�����,��ӤwǞ�)��fZ�gm�T4ۊϔI;=��
4
+ ��(���=e �'١|
5
+ <�j������67~h���=,�7��y
6
+ ^01