Module: VFS::File

Defined in:
lib/smb/vfs.rb

Class Method Summary collapse

Class Method Details

.copy(in_uri, out_uri) ⇒ Object



179
180
181
182
# File 'lib/smb/vfs.rb', line 179

def self.copy(in_uri,out_uri)
	in_f, out_f = File.open(in_uri), File.open(out_uri,'w')
	VFS::io_copy(in_f, out_f)
end

.join(*args) ⇒ Object



205
206
207
# File 'lib/smb/vfs.rb', line 205

def self.join(*args)
	::File::join(*args)
end

.mkpath(uri) ⇒ Object



183
184
185
186
187
188
189
190
191
192
# File 'lib/smb/vfs.rb', line 183

def self.mkpath(uri)
	if FileTest.exists?(uri)
		false
	else
		dir_uri, base = File::split(uri)
		mkpath(dir_uri)
		Dir::mkdir(uri,0777)
		true
	end
end

.open(uri, flags = nil, mode = nil) ⇒ Object



166
167
168
169
170
171
172
173
174
175
176
177
# File 'lib/smb/vfs.rb', line 166

def self.open(uri, flags=nil, mode=nil)
	uri = URI.parse(uri)
	mode ||= 0644
	unless flags.kind_of?(Integer)
		flags = {
			'w' => ::File::WRONLY|::File::CREAT|::File::TRUNC,
			'r' => ::File::RDONLY,
			'a' => ::File::RDWR|::File::CREAT|::File::APPEND
		}[flags && flags[0...1]] || ::File::RDONLY
	end
	SCHEMES[uri.scheme][:file_new][uri, flags, mode]
end

.read(uri) ⇒ Object



201
202
203
204
# File 'lib/smb/vfs.rb', line 201

def self.read(uri)
	uri = URI.parse(uri)
	SCHEMES[uri.scheme][:file_read][uri]
end

.split(*args) ⇒ Object



208
209
210
# File 'lib/smb/vfs.rb', line 208

def self.split(*args)
	::File::split(*args)
end

.stat(uri) ⇒ Object



193
194
195
196
# File 'lib/smb/vfs.rb', line 193

def self.stat(uri)
	uri = URI.parse(uri)
	SCHEMES[uri.scheme][:stat][uri]
end


197
198
199
200
# File 'lib/smb/vfs.rb', line 197

def self.unlink(uri)
	uri = URI.parse(uri)
	SCHEMES[uri.scheme][:unlinks][uri]
end