drb_fileclient-reader 0.1.8 → 0.1.9

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: c9410a7898afe8a74312baf93ec46b2820856f6fe9440835e4c77d203fad4bce
4
- data.tar.gz: 8203ae4e5c60e2eb48c8d3d743f5bb08c7837ce0255aa48a8e080b520e7aa8aa
3
+ metadata.gz: 85b8ff669621464afe7d8f289fa268fe0a368044bead6dab1e1ecb9337748e5c
4
+ data.tar.gz: 6499258427fcc20fc1049d7cc063a37ed17f5b0baed61d51758b06750de16407
5
5
  SHA512:
6
- metadata.gz: 9dc14a72dd41c645f0c905ecb64cddb1b5548a3dcbd833de8530707b6864f851a450d2eca780312ea0f118be5cf501835711a8d4d2b40b94093b76341c528bfe
7
- data.tar.gz: 430fc33bdab44ba1244bd13468f6e3d4b0e303f8e27b8eed2c4bf00ff28bd8cce9c0df38bd284a94e1452140e62843c7184d876b2e254440edc32e8875d02385
6
+ metadata.gz: 3af5c2980d39a6fe3e14ad0e2207766fd9776a34c0c354ae139babd6643e6eae5f3ea4fb42f4d2389d16c68bdb6fa0ad0c6991d25ea03eb51a96a3626ab60b66
7
+ data.tar.gz: 39b599fc6d09d1730713772af6613f306f79be64d4d1f2ae8ff5449c3cd600ec0f862ee66c854c59b6ea76770be92ba6f3014a114b1b23a8aae528b7d704fdc5
checksums.yaml.gz.sig CHANGED
Binary file
@@ -2,8 +2,85 @@
2
2
 
3
3
  # file: drb_fileclient-reader.rb
4
4
 
5
+ #require 'drb'
6
+ require 'c32'
5
7
 
6
- # testing, please ignore this version
7
8
 
8
9
  class DRbFileClientReader
10
+ using ColouredText
11
+
12
+ def initialize(location=nil, host: nil, port: '61010', debug: false)
13
+
14
+ @debug = debug
15
+ @@file ||= nil
16
+
17
+ if location then
18
+
19
+ host = location[/(?<=^dfs:\/\/)[^\/:]+/]
20
+ port = location[/(?<=^dfs:\/\/)[^:]+:(\d+)/,1] || '61010'
21
+ @@directory ||= location[/(?<=^dfs:\/\/)[^\/]+\/(.*)/,1]
22
+ else
23
+ @@directory ||= nil
24
+ end
25
+
26
+ DRb.start_service
27
+
28
+ end
29
+
30
+ def exist?(filename=@@filename)
31
+
32
+ return File.exist? filename unless @@directory or filename =~ /^dfs:\/\//
33
+
34
+ if filename =~ /^dfs:\/\// then
35
+
36
+ file, filename2 = parse_path(filename)
37
+ @@file ||= file
38
+
39
+ else
40
+
41
+ filename2 = File.join(@@directory, filename)
42
+ end
43
+
44
+ @@file.exist?(filename2)
45
+
46
+ end
47
+
48
+ def read(filename=@@filename)
49
+
50
+ return File.read(filename) unless @@directory or filename =~ /^dfs:\/\//
51
+
52
+ if filename =~ /^dfs:\/\// then
53
+ file, path = parse_path(filename)
54
+ @@file ||= file
55
+ else
56
+ path = File.join(@@directory, filename)
57
+ end
58
+
59
+ @@file.read path
60
+ end
61
+
62
+ protected
63
+
64
+ def parse_path(filename)
65
+
66
+ host = filename[/(?<=^dfs:\/\/)[^\/:]+/]
67
+ @host = host if host
68
+
69
+ port = filename[/(?<=^dfs:\/\/)[^:]+:(\d+)/,1] || '61010'
70
+
71
+ file_server = DRbObject.new nil, "druby://#{host || @host}:#{port}"
72
+ [file_server, filename[/(?<=^dfs:\/\/)[^\/]+\/(.*)/,1], ("dfs://%s:%s" % [host, port])]
73
+
74
+ end
75
+
76
+ end
77
+
78
+ class DfsFile
79
+
80
+ @client = DRbFileClientReader.new
81
+
82
+ def self.exist?(filename) @client.exist?(filename) end
83
+ def self.exists?(filename) @client.exist?(filename) end
84
+ def self.read(filename) @client.read(filename) end
85
+
9
86
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: drb_fileclient-reader
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
metadata.gz.sig CHANGED
Binary file