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.



194
195
196
197
198
199
200
# File 'lib/rfuse.rb', line 194

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)



192
193
194
# File 'lib/rfuse.rb', line 192

def atime
  @atime
end

#blksizeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def blksize
  @blksize
end

#blocksInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def blocks
  @blocks
end

#ctimeInteger, Time

Returns see stat(2).

Returns:

  • (Integer, Time)

    see stat(2)



192
193
194
# File 'lib/rfuse.rb', line 192

def ctime
  @ctime
end

#devInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def dev
  @dev
end

#gidInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def gid
  @gid
end

#inoInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def ino
  @ino
end

#modeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def mode
  @mode
end

#mtimeInteger, Time

Returns see stat(2).

Returns:

  • (Integer, Time)

    see stat(2)



192
193
194
# File 'lib/rfuse.rb', line 192

def mtime
  @mtime
end

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def nlink
  @nlink
end

#rdevInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def rdev
  @rdev
end

#sizeInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

def size
  @size
end

#uidInteger

Returns see stat(2).

Returns:

  • (Integer)

    see stat(2)



189
190
191
# File 'lib/rfuse.rb', line 189

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



176
177
178
# File 'lib/rfuse.rb', line 176

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



184
185
186
# File 'lib/rfuse.rb', line 184

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