Sha256: a33e84e6e0032f8d868a76f9f24ae63d7f8c0590bb35d06343b68141d1ff0f45

Contents?: true

Size: 869 Bytes

Versions: 14

Compression:

Stored size: 869 Bytes

Contents

module FakeFS
  class FakeDir < Hash
    attr_accessor :name, :parent

    def initialize(name = nil, parent = nil)
      @name = name
      @parent = parent
    end

    def entry
      self
    end

    def inspect
      "(FakeDir name:#{name.inspect} parent:#{parent.to_s.inspect} size:#{size})"
    end

    def clone(parent = nil)
      clone = Marshal.load(Marshal.dump(self))
      clone.each do |key, value|
        value.parent = clone
      end
      clone.parent = parent if parent
      clone
    end

    def to_s
      if parent && parent.to_s != '.'
        File.join(parent.to_s, name)
      elsif parent && parent.to_s == '.'
        "#{File::PATH_SEPARATOR}#{name}"
      else
        name
      end
    end

    def delete(node = self)
      if node == self
        parent.delete(self)
      else
        super(node.name)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 4 rubygems

Version Path
vim-jar-0.1.2.0001 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.1.2 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.1.1 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.1.0 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.0.3 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.0.2 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
vim-jar-0.0.1 bundler/ruby/1.8/gems/fakefs-0.2.1/lib/fakefs/fake/dir.rb
ktheory-fakefs-0.2.1.1 lib/fakefs/fake/dir.rb
simple-templater-0.0.1.3 vendor/fakefs/lib/fakefs/fake/dir.rb
simple-templater-0.0.1.2 vendor/fakefs/lib/fakefs/fake/dir.rb
simple-templater-0.0.1.1 vendor/fakefs/lib/fakefs/fake/dir.rb
simple-templater-0.0.1 vendor/fakefs/lib/fakefs/fake/dir.rb
fakefs-0.2.1 lib/fakefs/fake/dir.rb
fakefs-0.2.0 lib/fakefs/fake/dir.rb