rxfreadwrite 0.1.0 → 0.1.4

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: 53a75685faa1391e4fd2e915771c703195daf2df69f044757334ea4fc3ea5628
4
- data.tar.gz: 2bd5b05e5d21dfb9543fa45186e82b7d632bd656a86d21979e954b5152077b59
3
+ metadata.gz: f590af109926771c33146cd9d67028c7265dc21b1325d73db1030ffe9b986c60
4
+ data.tar.gz: 98b4786889d566036dd90f2fe2f742f88a9aca70bb1d2a90b494d932e9728bc9
5
5
  SHA512:
6
- metadata.gz: 6cea2847602126677e8c8b1b7cd0655c04876d4393de6e5cc4857c95ddc80f73a945748e5df2e530e3f465894b91f870f22edf43c8c6535b4bf16555c4397e84
7
- data.tar.gz: afd2f74b8b8ee1028ef92e9b58fbd27de8f7b1d4fa08a8083e7db275fcc3a7723445e165c52a657b715c1dfd33e5be3d16ebcb3b7a4a143ed1003a4d55cfa5b6
6
+ metadata.gz: c4fa55f10256f185dbf553ae60b089536481f35211ba69cfe78fed0242f79144c4dd3d31d5af969209e2eb9c8c3ba071ef263009977de7c1a97d4e825e31d1f5
7
+ data.tar.gz: f79b56d926a4020edebfc687863d38e2ed7d92da233d6e0b36856a9d8d12df9f04e08e7933d9f99687112a26a5bf76e59d40ffa1c38515fd7cd18746cb34f3a2
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/rxfreadwrite.rb CHANGED
@@ -8,6 +8,70 @@ require 'rxfreader'
8
8
  module RXFReadWriteModule
9
9
  include RXFRead
10
10
 
11
+
12
+ class DirX
13
+
14
+ def self.glob(s) RXFReadWrite.glob(s) end
15
+ def self.mkdir(s) RXFReadWrite.mkdir(s) end
16
+ def self.mkdir_p(s) RXFReadWrite.mkdir_p(s) end
17
+
18
+ end
19
+
20
+ def FileX.exists?(filename)
21
+
22
+ type = FileX.filetype(filename)
23
+
24
+ filex = case type
25
+ when :file
26
+ File
27
+ when :dfs
28
+ DfsFile
29
+ else
30
+ nil
31
+ end
32
+
33
+ return nil unless filex
34
+
35
+ filex.exists? filename
36
+
37
+ end
38
+
39
+
40
+ def FileX.filetype(x)
41
+
42
+ return :string if x.lines.length > 1
43
+
44
+ case x
45
+ when /^https?:\/\//
46
+ :http
47
+ when /^dfs:\/\//
48
+ :dfs
49
+ when /^file:\/\//
50
+ :file
51
+ else
52
+
53
+ if File.exists?(x) then
54
+ :file
55
+ else
56
+ :text
57
+ end
58
+
59
+ end
60
+ end
61
+
62
+ def FileX.mkdir(s) RXFReadWrite.mkdir(s) end
63
+ def FileX.mkdir_p(s) RXFReadWrite.mkdir_p(s) end
64
+
65
+ def FileX.rm(s) RXFReadWrite.rm(s) end
66
+
67
+ def FileX.rm_r(s, force: false)
68
+ RXFReadWrite.rm_r(s, force: force)
69
+ end
70
+
71
+ def FileX.touch(s, mtime: Time.now)
72
+ RXFReadWrite.touch(s, mtime: mtime)
73
+ end
74
+
11
75
  def FileX.write(x, s)
12
76
  RXFReadWrite.write(x, s)
13
77
  end
@@ -20,6 +84,101 @@ end
20
84
  class RXFReadWrite < RXFReader
21
85
  using ColouredText
22
86
 
87
+ def self.glob(s)
88
+
89
+ if s[/^dfs:\/\//] then
90
+ DfsFile.glob(s)
91
+ else
92
+ Dir.glob(s)
93
+ end
94
+
95
+ end
96
+
97
+ def self.mkdir(x)
98
+
99
+ if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
100
+ FileUtils.mkdir x
101
+ elsif x[/^dfs:\/\//]
102
+ DfsFile.mkdir x
103
+ end
104
+
105
+ end
106
+
107
+ def self.mkdir_p(x)
108
+
109
+ if x[/^dfs:\/\//] then
110
+ DfsFile.mkdir_p x
111
+ else
112
+ FileUtils.mkdir_p x
113
+ end
114
+
115
+ end
116
+
117
+ def self.rm(filename)
118
+
119
+ case filename[/^\w+(?=:\/\/)/]
120
+ when 'dfs'
121
+ DfsFile.rm filename
122
+ else
123
+
124
+ if File.basename(filename) =~ /\*/ then
125
+
126
+ Dir.glob(filename).each do |file|
127
+
128
+ begin
129
+ FileUtils.rm file
130
+ rescue
131
+ puts ('RXFReadWrite#rm: ' + file + ' is a Directory').warning
132
+ end
133
+
134
+ end
135
+
136
+ else
137
+ FileUtils.rm filename
138
+ end
139
+
140
+ end
141
+
142
+ end
143
+
144
+ def self.rm_r(filename, force: false)
145
+
146
+ case filename[/^\w+(?=:\/\/)/]
147
+ when 'dfs'
148
+ DfsFile.rm_r filename, force: force
149
+ else
150
+
151
+ if File.basename(filename) =~ /\*/ then
152
+
153
+ Dir.glob(filename).each do |file|
154
+
155
+ begin
156
+ FileUtils.rm_r file, force: force
157
+ rescue
158
+ puts ('RXFReadWrite#rm_r: ' + file + ' is a Directory').warning
159
+ end
160
+
161
+ end
162
+
163
+ else
164
+ FileUtils.rm_r filename, force: force
165
+ end
166
+
167
+ end
168
+
169
+ end
170
+
171
+ def self.touch(filename, mtime: Time.now)
172
+
173
+ case filename[/^\w+(?=:\/\/)/]
174
+ when 'dfs'
175
+ DfsFile.touch filename, mtime: mtime
176
+ else
177
+ FileUtils.touch filename, mtime: mtime
178
+ end
179
+
180
+ end
181
+
23
182
  def self.write(location, s=nil)
24
183
 
25
184
  case location
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rxfreadwrite
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -35,7 +35,7 @@ cert_chain:
35
35
  gnYmJHVhKvNaFwL4ryulhkA+n8o3Ve6Kzo/AGlO2+Ge6H0bqIUbS8UisqDa7IwlY
36
36
  tvleW582+lzMrpAfWdGb4VFX
37
37
  -----END CERTIFICATE-----
38
- date: 2022-02-19 00:00:00.000000000 Z
38
+ date: 2022-02-21 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: rxfreader
metadata.gz.sig CHANGED
Binary file