module FakeFS
FakeFS
module
FakeFS
module
FakeFS
module
Public Class Methods
Source
# File lib/fakefs/base.rb, line 26 def activate!(io_mocks: false) Object.class_eval do remove_const(:Dir) remove_const(:File) remove_const(:FileTest) remove_const(:FileUtils) remove_const(:Pathname) const_set(:Dir, FakeFS::Dir) const_set(:File, FakeFS::File) const_set(:FileUtils, FakeFS::FileUtils) const_set(:FileTest, FakeFS::FileTest) const_set(:Pathname, FakeFS::Pathname) if io_mocks remove_const(:IO) const_set(:IO, ::FakeFS::IO) end ::FakeFS::Kernel.hijack! end @activated = true true end
unconditionally activate
Source
# File lib/fakefs/base.rb, line 78 def clear! ::FakeFS::FileSystem.clear end
unconditionally clear the fake filesystem
Source
# File lib/fakefs/base.rb, line 54 def deactivate! Object.class_eval do remove_const(:Dir) remove_const(:File) remove_const(:FileTest) remove_const(:FileUtils) remove_const(:IO) remove_const(:Pathname) const_set(:Dir, RealDir) const_set(:File, RealFile) const_set(:FileTest, RealFileTest) const_set(:FileUtils, RealFileUtils) const_set(:IO, RealIO) const_set(:Pathname, RealPathname) ::FakeFS::Kernel.unhijack! end @activated = false true end
unconditionally deactivate
Source
# File lib/fakefs/base.rb, line 89 def with if activated? yield else begin activate! yield ensure deactivate! end end end
present the fake filesystem to the block
Source
# File lib/fakefs/base.rb, line 83 def with_fresh(&block) clear! with(&block) end
present a fresh new fake filesystem to the block
Source
# File lib/fakefs/base.rb, line 103 def without if !activated? yield else begin deactivate! yield ensure activate! end end end
present a non-fake filesystem to the block
Public Instance Methods
Source
# File lib/fakefs/spec_helpers.rb, line 38 def use_fakefs(describe_block, opts) describe_block.before opts[:with] do FakeFS.activate! end describe_block.after opts[:with] do FakeFS.deactivate! FakeFS::FileSystem.clear if opts[:with] == :each end end