Class: RXFReadWrite

Inherits:
RXFReader
  • Object
show all
Defined in:
lib/rxfreadwrite.rb

Class Method Summary collapse

Class Method Details

.glob(s) ⇒ Object



43
44
45
46
47
48
49
50
51
# File 'lib/rxfreadwrite.rb', line 43

def self.glob(s)

  if s[/^dfs:\/\//] then
    DfsFile.glob(s)
  else
    Dir.glob(s)
  end

end

.mkdir(x) ⇒ Object



53
54
55
56
57
58
59
60
61
# File 'lib/rxfreadwrite.rb', line 53

def self.mkdir(x)

  if x[/^file:\/\//] or File.exists?(File.dirname(x)) then
    FileUtils.mkdir x
  elsif x[/^dfs:\/\//]
    DfsFile.mkdir x
  end

end

.mkdir_p(x) ⇒ Object



63
64
65
66
67
68
69
70
71
# File 'lib/rxfreadwrite.rb', line 63

def self.mkdir_p(x)

  if x[/^dfs:\/\//] then
    DfsFile.mkdir_p x
  else
    FileUtils.mkdir_p x
  end

end

.rm(filename) ⇒ Object



73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/rxfreadwrite.rb', line 73

def self.rm(filename)

  case filename[/^\w+(?=:\/\/)/]
  when 'dfs'
    DfsFile.rm filename
  else

    if File.basename(filename) =~ /\*/ then

      Dir.glob(filename).each do |file|

        begin
          FileUtils.rm file
        rescue
          puts ('RXFReadWrite#rm: ' + file + ' is a Directory').warning
        end

      end

    else
      FileUtils.rm filename
    end

  end

end

.rm_r(filename, force: false) ⇒ Object



100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/rxfreadwrite.rb', line 100

def self.rm_r(filename, force: false)

  case filename[/^\w+(?=:\/\/)/]
  when 'dfs'
    DfsFile.rm_r filename, force: force
  else

    if File.basename(filename) =~ /\*/ then

      Dir.glob(filename).each do |file|

        begin
          FileUtils.rm_r file, force: force
        rescue
          puts ('RXFReadWrite#rm_r: ' + file + ' is a Directory').warning
        end

      end

    else
      FileUtils.rm_r filename, force: force
    end

  end

end

.touch(filename, mtime: Time.now) ⇒ Object



127
128
129
130
131
132
133
134
135
136
# File 'lib/rxfreadwrite.rb', line 127

def self.touch(filename, mtime: Time.now)

  case filename[/^\w+(?=:\/\/)/]
  when 'dfs'
    DfsFile.touch filename, mtime: mtime
  else
    FileUtils.touch filename, mtime: mtime
  end

end

.write(location, s = nil) ⇒ Object



138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/rxfreadwrite.rb', line 138

def self.write(location, s=nil)

  case location
  when /^dfs:\/\//

    DfsFile.write location, s

  else

    if DfsFile.exists?(File.dirname(location)) then
      DfsFile.write location, s
    else
      File.write(location, s)
    end

  end

end