Class: FakeFS::FakeDir
- Inherits:
-
Object
- Object
- FakeFS::FakeDir
- Defined in:
- lib/fakefs/fake/dir.rb
Overview
Fake Dir class
Instance Attribute Summary collapse
-
#atime ⇒ Object
Returns the value of attribute atime.
-
#content ⇒ Object
readonly
Returns the value of attribute content.
-
#ctime ⇒ Object
readonly
Returns the value of attribute ctime.
-
#gid ⇒ Object
Returns the value of attribute gid.
-
#inode ⇒ Object
Returns the value of attribute inode.
-
#mode ⇒ Object
Returns the value of attribute mode.
-
#mtime ⇒ Object
Returns the value of attribute mtime.
-
#name ⇒ Object
Returns the value of attribute name.
-
#parent ⇒ Object
Returns the value of attribute parent.
-
#uid ⇒ Object
Returns the value of attribute uid.
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
- #clone(parent = nil) ⇒ Object
- #delete(node = self) ⇒ Object
- #empty? ⇒ Boolean
- #entries ⇒ Object
- #entry ⇒ Object
-
#initialize(name = nil, parent = nil) ⇒ FakeDir
constructor
A new instance of FakeDir.
- #inspect ⇒ Object
- #matches(pattern) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(name = nil, parent = nil) ⇒ FakeDir
Returns a new instance of FakeDir.
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/fakefs/fake/dir.rb', line 9 def initialize(name = nil, parent = nil) @name = name @parent = parent @ctime = Time.now @mtime = @ctime @atime = @ctime @mode = 0o100000 + (0o777 - File.umask) @uid = Process.uid @gid = Process.gid @inode = FakeInode.new(self) @content = '' @entries = {} end |
Instance Attribute Details
#atime ⇒ Object
Returns the value of attribute atime.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def atime @atime end |
#content ⇒ Object (readonly)
Returns the value of attribute content.
7 8 9 |
# File 'lib/fakefs/fake/dir.rb', line 7 def content @content end |
#ctime ⇒ Object (readonly)
Returns the value of attribute ctime.
7 8 9 |
# File 'lib/fakefs/fake/dir.rb', line 7 def ctime @ctime end |
#gid ⇒ Object
Returns the value of attribute gid.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def gid @gid end |
#inode ⇒ Object
Returns the value of attribute inode.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def inode @inode end |
#mode ⇒ Object
Returns the value of attribute mode.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def mode @mode end |
#mtime ⇒ Object
Returns the value of attribute mtime.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def mtime @mtime end |
#name ⇒ Object
Returns the value of attribute name.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def name @name end |
#parent ⇒ Object
Returns the value of attribute parent.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def parent @parent end |
#uid ⇒ Object
Returns the value of attribute uid.
6 7 8 |
# File 'lib/fakefs/fake/dir.rb', line 6 def uid @uid end |
Instance Method Details
#[](name) ⇒ Object
64 65 66 |
# File 'lib/fakefs/fake/dir.rb', line 64 def [](name) @entries[name] end |
#[]=(name, value) ⇒ Object
68 69 70 |
# File 'lib/fakefs/fake/dir.rb', line 68 def []=(name, value) @entries[name] = value end |
#clone(parent = nil) ⇒ Object
32 33 34 35 36 37 38 39 40 |
# File 'lib/fakefs/fake/dir.rb', line 32 def clone(parent = nil) clone = Marshal.load(Marshal.dump(self)) clone.entries.each do |value| value.parent = clone end clone.parent = parent if parent clone.inode = @inode.clone clone end |
#delete(node = self) ⇒ Object
72 73 74 75 76 77 78 79 |
# File 'lib/fakefs/fake/dir.rb', line 72 def delete(node = self) if node == self parent.delete(self) @inode.free_inode_num else @entries.delete(node.name) end end |
#empty? ⇒ Boolean
52 53 54 |
# File 'lib/fakefs/fake/dir.rb', line 52 def empty? @entries.empty? end |
#entries ⇒ Object
56 57 58 |
# File 'lib/fakefs/fake/dir.rb', line 56 def entries @entries.values end |
#entry ⇒ Object
23 24 25 |
# File 'lib/fakefs/fake/dir.rb', line 23 def entry self end |
#inspect ⇒ Object
27 28 29 30 |
# File 'lib/fakefs/fake/dir.rb', line 27 def inspect "(FakeDir name:#{name.inspect} " \ "parent:#{parent.to_s.inspect} size:#{@entries.size})" end |
#matches(pattern) ⇒ Object
60 61 62 |
# File 'lib/fakefs/fake/dir.rb', line 60 def matches(pattern) @entries.select { |k, _v| pattern =~ k }.values end |