Class: FakeFS::File::Stat
- Inherits:
-
Object
- Object
- FakeFS::File::Stat
- Includes:
- Comparable
- Defined in:
- lib/fakefs/file.rb
Overview
FakeFS Stat class
Instance Attribute Summary collapse
-
#atime ⇒ Object
readonly
Returns the value of attribute atime.
-
#ctime ⇒ Object
readonly
Returns the value of attribute ctime.
-
#gid ⇒ Object
readonly
Returns the value of attribute gid.
-
#mode ⇒ Object
readonly
Returns the value of attribute mode.
-
#mtime ⇒ Object
readonly
Returns the value of attribute mtime.
-
#uid ⇒ Object
readonly
Returns the value of attribute uid.
Instance Method Summary collapse
- #<=>(other) ⇒ Object
- #directory? ⇒ Boolean
- #file? ⇒ Boolean
- #ftype ⇒ Object
-
#initialize(file, lstat = false) ⇒ Stat
constructor
A new instance of Stat.
- #nlink ⇒ Object
-
#readable? ⇒ Boolean
assumes, like above, that all files are readable and writable.
- #size ⇒ Object
-
#sticky? ⇒ Boolean
Assume nothing is sticky.
- #symlink? ⇒ Boolean
- #world_readable? ⇒ Boolean
-
#world_writable? ⇒ Boolean
World_writable and readable are platform dependent usually comparing with S_IROTH defined on compilation (MRI).
- #writable? ⇒ Boolean
- #zero? ⇒ Boolean
Constructor Details
#initialize(file, lstat = false) ⇒ Stat
Returns a new instance of Stat.
283 284 285 286 287 288 289 290 291 292 293 294 295 |
# File 'lib/fakefs/file.rb', line 283 def initialize(file, lstat = false) fail(Errno::ENOENT, file) unless File.exist?(file) @file = file @fake_file = FileSystem.find(@file) @__lstat = lstat @ctime = @fake_file.ctime @mtime = @fake_file.mtime @atime = @fake_file.atime @mode = @fake_file.mode @uid = @fake_file.uid @gid = @fake_file.gid end |
Instance Attribute Details
#atime ⇒ Object (readonly)
Returns the value of attribute atime.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def atime @atime end |
#ctime ⇒ Object (readonly)
Returns the value of attribute ctime.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def ctime @ctime end |
#gid ⇒ Object (readonly)
Returns the value of attribute gid.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def gid @gid end |
#mode ⇒ Object (readonly)
Returns the value of attribute mode.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def mode @mode end |
#mtime ⇒ Object (readonly)
Returns the value of attribute mtime.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def mtime @mtime end |
#uid ⇒ Object (readonly)
Returns the value of attribute uid.
281 282 283 |
# File 'lib/fakefs/file.rb', line 281 def uid @uid end |
Instance Method Details
#<=>(other) ⇒ Object
357 358 359 |
# File 'lib/fakefs/file.rb', line 357 def <=>(other) @mtime <=> other.mtime end |
#directory? ⇒ Boolean
301 302 303 |
# File 'lib/fakefs/file.rb', line 301 def directory? File.directory?(@file) end |
#ftype ⇒ Object
309 310 311 312 313 |
# File 'lib/fakefs/file.rb', line 309 def ftype return 'link' if symlink? return 'directory' if directory? 'file' end |
#nlink ⇒ Object
339 340 341 |
# File 'lib/fakefs/file.rb', line 339 def nlink @fake_file.links.size end |
#readable? ⇒ Boolean
assumes, like above, that all files are readable and writable.
316 317 318 |
# File 'lib/fakefs/file.rb', line 316 def readable? true end |
#size ⇒ Object
343 344 345 346 347 348 349 |
# File 'lib/fakefs/file.rb', line 343 def size if @__lstat && symlink? @fake_file.target.size else File.size(@file) end end |
#sticky? ⇒ Boolean
Assume nothing is sticky.
325 326 327 |
# File 'lib/fakefs/file.rb', line 325 def sticky? false end |
#symlink? ⇒ Boolean
297 298 299 |
# File 'lib/fakefs/file.rb', line 297 def symlink? File.symlink?(@file) end |
#world_readable? ⇒ Boolean
335 336 337 |
# File 'lib/fakefs/file.rb', line 335 def world_readable? 0777 end |
#world_writable? ⇒ Boolean
World_writable and readable are platform dependent usually comparing with S_IROTH defined on compilation (MRI)
331 332 333 |
# File 'lib/fakefs/file.rb', line 331 def world_writable? 0777 end |
#writable? ⇒ Boolean
320 321 322 |
# File 'lib/fakefs/file.rb', line 320 def writable? true end |
#zero? ⇒ Boolean
351 352 353 |
# File 'lib/fakefs/file.rb', line 351 def zero? size == 0 end |