module FakeFS
FakeFS
module
FakeFS
module
FakeFS
module
Public Class Methods
activate!(io_mocks: false)
click to toggle source
unconditionally activate
# File lib/fakefs/base.rb, line 24 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
activated?()
click to toggle source
# File lib/fakefs/base.rb, line 19 def activated? @activated ||= false end
clear!()
click to toggle source
unconditionally clear the fake filesystem
# File lib/fakefs/base.rb, line 76 def clear! ::FakeFS::FileSystem.clear end
deactivate!()
click to toggle source
unconditionally deactivate
# File lib/fakefs/base.rb, line 52 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
with() { || ... }
click to toggle source
present the fake filesystem to the block
# File lib/fakefs/base.rb, line 87 def with if activated? yield else begin activate! yield ensure deactivate! end end end
with_fresh(&block)
click to toggle source
present a fresh new fake filesystem to the block
# File lib/fakefs/base.rb, line 81 def with_fresh(&block) clear! with(&block) end
without() { || ... }
click to toggle source
present a non-fake filesystem to the block
# File lib/fakefs/base.rb, line 101 def without if !activated? yield else begin deactivate! yield ensure activate! end end end
Public Instance Methods
use_fakefs(describe_block, opts)
click to toggle source
# File lib/fakefs/spec_helpers.rb, line 36 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