Module: FakeFS
- Included in:
- SpecHelpers, SpecHelpers::All
- Defined in:
- lib/fakefs/base.rb,
lib/fakefs/dir.rb,
lib/fakefs/file.rb,
lib/fakefs/kernel.rb,
lib/fakefs/globber.rb,
lib/fakefs/version.rb,
lib/fakefs/fake/dir.rb,
lib/fakefs/pathname.rb,
lib/fakefs/fake/file.rb,
lib/fakefs/file_test.rb,
lib/fakefs/fileutils.rb,
lib/fakefs/fake/inode.rb,
lib/fakefs/file_system.rb,
lib/fakefs/fake/symlink.rb,
lib/fakefs/spec_helpers.rb
Overview
FakeFS module
Defined Under Namespace
Modules: FileSystem, FileTest, FileUtils, Globber, Kernel, SpecHelpers, Version Classes: Dir, FakeDir, FakeFile, FakeInode, FakeSymlink, File, Pathname
Class Method Summary collapse
-
.activate! ⇒ Object
unconditionally activate.
- .activated? ⇒ Boolean
-
.clear! ⇒ Object
unconditionally clear the fake filesystem.
-
.deactivate! ⇒ Object
unconditionally deactivate.
-
.with ⇒ Object
present the fake filesystem to the block.
-
.with_fresh(&block) ⇒ Object
present a fresh new fake filesystem to the block.
-
.without ⇒ Object
present a non-fake filesystem to the block.
Instance Method Summary collapse
Class Method Details
.activate! ⇒ Object
unconditionally activate
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/fakefs/base.rb', line 23 def activate! 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) ::FakeFS::Kernel.hijack! end @activated = true true end |
.activated? ⇒ Boolean
18 19 20 |
# File 'lib/fakefs/base.rb', line 18 def activated? @activated ||= false end |
.clear! ⇒ Object
unconditionally clear the fake filesystem
67 68 69 |
# File 'lib/fakefs/base.rb', line 67 def clear! ::FakeFS::FileSystem.clear end |
.deactivate! ⇒ Object
unconditionally deactivate
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/fakefs/base.rb', line 45 def deactivate! Object.class_eval do remove_const(:Dir) remove_const(:File) remove_const(:FileTest) remove_const(:FileUtils) remove_const(:Pathname) const_set(:Dir, RealDir) const_set(:File, RealFile) const_set(:FileTest, RealFileTest) const_set(:FileUtils, RealFileUtils) const_set(:Pathname, RealPathname) ::FakeFS::Kernel.unhijack! end @activated = false true end |
.with ⇒ Object
present the fake filesystem to the block
78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/fakefs/base.rb', line 78 def with if activated? yield else begin activate! yield ensure deactivate! end end end |
.with_fresh(&block) ⇒ Object
present a fresh new fake filesystem to the block
72 73 74 75 |
# File 'lib/fakefs/base.rb', line 72 def with_fresh(&block) clear! with(&block) end |
.without ⇒ Object
present a non-fake filesystem to the block
92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/fakefs/base.rb', line 92 def without if !activated? yield else begin deactivate! yield ensure activate! end end end |
Instance Method Details
#use_fakefs(describe_block, opts) ⇒ Object
36 37 38 39 40 41 42 43 44 45 |
# 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 |