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

Returns a new instance of 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

Returns see stat(2).

Returns:

  • (Integer, Time)

    see stat(2)



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

def atime
  @atime
end

#blksizeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def blksize
  @blksize
end

#blocksInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def blocks
  @blocks
end

#ctimeInteger, Time

Returns see stat(2).

Returns:

  • (Integer, Time)

    see stat(2)



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

def ctime
  @ctime
end

#devInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def dev
  @dev
end

#gidInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def gid
  @gid
end

#inoInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def ino
  @ino
end

#modeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def mode
  @mode
end

#mtimeInteger, Time

Returns see stat(2).

Returns:

  • (Integer, Time)

    see stat(2)



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

def mtime
  @mtime
end

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def nlink
  @nlink
end

#rdevInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def rdev
  @rdev
end

#sizeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def size
  @size
end

#uidInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



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

def uid
  @uid
end

Class Method Details

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

Returns representing a directory.

Parameters:

  • mode (Fixnum) (defaults to: 0)

    file permissions

  • values (Hash<Symbol,Fixnum>) (defaults to: { })

    initial values for other attributes

Returns:

  • (Stat)

    representing a directory



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

Returns representing a regular file.

Parameters:

  • mode (Fixnum) (defaults to: 0)

    file permissions

  • values (Hash<Symbol,Fixnum>) (defaults to: { })

    initial values for other attributes

Returns:

  • (Stat)

    representing a regular file



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

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