Module: FakeFS
- Included in:
- SpecHelpers, SpecHelpers::All
- Defined in:
- lib/fakefs/dir.rb,
lib/fakefs/base.rb,
lib/fakefs/file.rb,
lib/fakefs/kernel.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/file_system.rb,
lib/fakefs/fake/symlink.rb,
lib/fakefs/spec_helpers.rb
Defined Under Namespace
Modules: FileSystem, FileTest, FileUtils, Kernel, SpecHelpers, Version
Classes: Dir, FakeDir, FakeFile, FakeSymlink, File, Pathname
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.activate! ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/fakefs/base.rb', line 24
def activate!
@activated = true
Object.class_eval do
remove_const(:Dir)
remove_const(:File)
remove_const(:FileTest)
remove_const(:FileUtils)
remove_const(:Pathname) if RUBY_VERSION >= "1.9.3"
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 RUBY_VERSION >= "1.9.3"
::FakeFS::Kernel.hijack!
end
true
end
|
.activated? ⇒ Boolean
20
21
22
|
# File 'lib/fakefs/base.rb', line 20
def activated?
@activated
end
|
.deactivate! ⇒ Object
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/fakefs/base.rb', line 43
def deactivate!
@activated = false
Object.class_eval do
remove_const(:Dir)
remove_const(:File)
remove_const(:FileTest)
remove_const(:FileUtils)
remove_const(:Pathname) if RUBY_VERSION >= "1.9.3"
const_set(:Dir, RealDir)
const_set(:File, RealFile)
const_set(:FileTest, RealFileTest)
const_set(:FileUtils, RealFileUtils)
const_set(:Pathname, RealPathname) if RUBY_VERSION >= "1.9.3"
::FakeFS::Kernel.unhijack!
end
true
end
|
.with ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/fakefs/base.rb', line 63
def with
if activated?
yield
else
begin
activate!
yield
ensure
deactivate!
end
end
end
|
.without ⇒ Object
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/fakefs/base.rb', line 76
def without
if !activated?
yield
else
begin
deactivate!
yield
ensure
activate!
end
end
end
|
Instance Method Details
#use_fakefs(describe_block, opts) ⇒ Object
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/fakefs/spec_helpers.rb', line 30
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
|