Module: FakeFS

Defined in:
lib/fakefs/dir.rb,
lib/fakefs/base.rb,
lib/fakefs/file.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, FileUtils, SpecHelpers, Version Classes: Dir, FakeDir, FakeFile, FakeSymlink, File, FileTest, Pathname

Class Method Summary collapse

Class Method Details

.activate!Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fakefs/base.rb', line 14

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"
  end
  true
end

.activated?Boolean

Returns:

  • (Boolean)


10
11
12
# File 'lib/fakefs/base.rb', line 10

def activated?
  @activated
end

.deactivate!Object



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/fakefs/base.rb', line 32

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"
  end
  true
end

.withObject



51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/fakefs/base.rb', line 51

def with
  if activated?
    yield
  else
    begin
      activate!
      yield
    ensure
      deactivate!
    end
  end
end

.withoutObject



64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/fakefs/base.rb', line 64

def without
  if !activated?
    yield
  else
    begin
      deactivate!
      yield
    ensure
      activate!
    end
  end
end