Class: RFuse::Stat

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

Overview

Helper class to return from :getattr method

Constant Summary collapse

S_IFMT =

Format mask

0170000
S_IFDIR =

Directory

0040000
S_IFCHR =

Character device

0020000
S_IFBLK =

Block device

0060000
S_IFREG =

Regular file

0100000
S_IFIFO =

FIFO.

0010000
S_IFLNK =

Symbolic link

0120000
S_IFSOCK =

Socket

0140000

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type, permissions, values = { }) ⇒ Stat



617
618
619
620
621
622
623
# File 'lib/rfuse.rb', line 617

def initialize(type,permissions,values = { })
    values[:mode] = ((type & S_IFMT) | (permissions & 07777))
    @uid,@gid,@size,@mode,@atime,@mtime,@ctime,@dev,@ino,@nlink,@rdev,@blksize,@blocks = Array.new(13,0)
    values.each_pair do |k,v|
        instance_variable_set("@#{ k }",v)
    end
end

Instance Attribute Details

#atimeInteger, Time



615
616
617
# File 'lib/rfuse.rb', line 615

def atime
  @atime
end

#blksizeInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def blksize
  @blksize
end

#blocksInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def blocks
  @blocks
end

#ctimeInteger, Time



615
616
617
# File 'lib/rfuse.rb', line 615

def ctime
  @ctime
end

#devInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def dev
  @dev
end

#gidInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def gid
  @gid
end

#inoInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def ino
  @ino
end

#modeInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def mode
  @mode
end

#mtimeInteger, Time



615
616
617
# File 'lib/rfuse.rb', line 615

def mtime
  @mtime
end


612
613
614
# File 'lib/rfuse.rb', line 612

def nlink
  @nlink
end

#rdevInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def rdev
  @rdev
end

#sizeInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def size
  @size
end

#uidInteger



612
613
614
# File 'lib/rfuse.rb', line 612

def uid
  @uid
end

Class Method Details

.directory(mode = 0, values = { }) ⇒ Stat



599
600
601
# File 'lib/rfuse.rb', line 599

def self.directory(mode=0,values = { })
    return self.new(S_IFDIR,mode,values)
end

.file(mode = 0, values = { }) ⇒ Stat



607
608
609
# File 'lib/rfuse.rb', line 607

def self.file(mode=0,values = { })
    return self.new(S_IFREG,mode,values)
end