Module: Bootprint::Collectors::Filesystem

Defined in:
lib/bootprint/collectors/filesystem.rb

Class Method Summary collapse

Class Method Details

.captureObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/bootprint/collectors/filesystem.rb', line 13

def capture
  {
    "path_separator" => File::ALT_SEPARATOR || File::SEPARATOR,
    "case_sensitive" => case_sensitive?,
    "symlinks_supported" => File.respond_to?(:symlink),
    "temporary_directory" => directory_state(Dir.tmpdir),
    "required_directories" => {
      "current" => directory_state(Dir.pwd),
      "log" => directory_state(File.join(Dir.pwd, "log")),
      "tmp" => directory_state(File.join(Dir.pwd, "tmp"))
    }
  }
end

.case_sensitive?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/bootprint/collectors/filesystem.rb', line 35

def case_sensitive?
  !Gem.win_platform? && !RbConfig::CONFIG["host_os"].to_s.include?("darwin")
end

.directory_state(path) ⇒ Object



27
28
29
30
31
32
33
# File 'lib/bootprint/collectors/filesystem.rb', line 27

def directory_state(path)
  {
    "present" => File.directory?(path),
    "writable" => File.directory?(path) && File.writable?(path),
    "path" => Sanitizer.path(path)
  }
end

.keyObject



11
# File 'lib/bootprint/collectors/filesystem.rb', line 11

def key = "filesystem"