Class: NodeRb::FileSystem

Inherits:
Object
  • Object
show all
Defined in:
lib/noderb/fs.rb,
ext/noderb_extension/noderb.c

Class Method Summary collapse

Class Method Details

.chmod(path, mode, &block) ⇒ Object



34
35
36
# File 'lib/noderb/fs.rb', line 34

def chmod path, mode, &block
  fs_native(6, path, mode, block)
end

.chown(path, uid, gid, &block) ⇒ Object



60
61
62
# File 'lib/noderb/fs.rb', line 60

def chown path, uid, gid, &block
  fs_native(12, path, [uid, gid], block)
end

.fs_nativeObject

Filesystem operations



46
47
48
# File 'lib/noderb/fs.rb', line 46

def link path, new_path, &block
  fs_native(9, path, new_path, block)
end

.lstat(path, &block) ⇒ Object



42
43
44
# File 'lib/noderb/fs.rb', line 42

def lstat path, &block
  fs_native(8, path, nil, block)
end

.mkdir(path, mode, &block) ⇒ Object



11
12
13
# File 'lib/noderb/fs.rb', line 11

def mkdir path, mode, &block
  fs_native(1, path, mode, block)
end

.readdir(path, flags = 2, &block) ⇒ Object



19
20
21
22
23
24
# File 'lib/noderb/fs.rb', line 19

def readdir path, flags = 2, &block
  parser = proc do |data|
    data ? block.call(data.split("\0")) : block.call(data)
  end
  fs_native(3, path, flags, parser)
end


54
55
56
57
58
# File 'lib/noderb/fs.rb', line 54

def readlink path, &block
  # ToDo: libuv not implemented yet
  block.call(nil)
  #fs_native(11, path, nil, block)
end

.rename(path, new_path, &block) ⇒ Object



30
31
32
# File 'lib/noderb/fs.rb', line 30

def rename path, new_path, &block
  fs_native(5, path, new_path, block)
end

.rmdir(path, &block) ⇒ Object



15
16
17
# File 'lib/noderb/fs.rb', line 15

def rmdir path, &block
  fs_native(2, path, nil, block)
end

.stat(path, &block) ⇒ Object



26
27
28
# File 'lib/noderb/fs.rb', line 26

def stat path, &block
  fs_native(4, path, nil, block)
end


50
51
52
# File 'lib/noderb/fs.rb', line 50

def symlink path, new_path, flags, &block
  fs_native(10, path, [new_path, flags], block)
end


7
8
9
# File 'lib/noderb/fs.rb', line 7

def unlink path, &block
  fs_native(0, path, nil, block)
end

.utime(path, atime, mtime, &block) ⇒ Object



38
39
40
# File 'lib/noderb/fs.rb', line 38

def utime path, atime, mtime, &block
  fs_native(7, path, [atime, mtime], block)
end