Class: PlatformosCheck::FileSystemStorage
- Inherits:
-
Storage
- Object
- Storage
- PlatformosCheck::FileSystemStorage
show all
- Defined in:
- lib/platformos_check/file_system_storage.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Storage
#platformos_app, #versioned?
Constructor Details
#initialize(root, ignored_patterns: []) ⇒ FileSystemStorage
Returns a new instance of FileSystemStorage.
9
10
11
12
13
|
# File 'lib/platformos_check/file_system_storage.rb', line 9
def initialize(root, ignored_patterns: [])
@root = Pathname.new(root)
@ignored_patterns = ignored_patterns
@files = {}
end
|
Instance Attribute Details
#root ⇒ Object
Returns the value of attribute root.
7
8
9
|
# File 'lib/platformos_check/file_system_storage.rb', line 7
def root
@root
end
|
Instance Method Details
#files ⇒ Object
TODO: Fix corrector def rename(old_path, new_path)
return unless file_exists?(old_path)
reset_memoizers
file(old_path).mv(new_path)
end
60
61
62
63
64
|
# File 'lib/platformos_check/file_system_storage.rb', line 60
def files
@file_array ||= glob("**/*")
.reject { |path| File.directory?(path) }
.map { |path| path.relative_path_from(@root).to_s }
end
|
#mkdir(relative_path) ⇒ Object
44
45
46
47
48
49
|
# File 'lib/platformos_check/file_system_storage.rb', line 44
def mkdir(relative_path)
return if file_exists?(relative_path)
reset_memoizers
file(relative_path).mkpath
end
|
#path(relative_path) ⇒ Object
19
20
21
|
# File 'lib/platformos_check/file_system_storage.rb', line 19
def path(relative_path)
@root.join(relative_path)
end
|
#read(relative_path) ⇒ Object
23
24
25
26
27
|
# File 'lib/platformos_check/file_system_storage.rb', line 23
def read(relative_path)
file(relative_path).read(mode: 'rb', encoding: 'UTF-8')
rescue Errno::ENOENT
nil
end
|
#relative_path(absolute_path) ⇒ Object
15
16
17
|
# File 'lib/platformos_check/file_system_storage.rb', line 15
def relative_path(absolute_path)
Pathname.new(absolute_path).relative_path_from(@root).to_s
end
|
#remove(relative_path) ⇒ Object
37
38
39
40
41
42
|
# File 'lib/platformos_check/file_system_storage.rb', line 37
def remove(relative_path)
file(relative_path).delete
@platformos_app&.update([relative_path], remove: true)
reset_memoizers
end
|
#write(relative_path, content) ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/platformos_check/file_system_storage.rb', line 29
def write(relative_path, content)
reset_memoizers unless file_exists?(relative_path)
file(relative_path).dirname.mkpath unless file(relative_path).dirname.directory?
file(relative_path).write(content, mode: 'w+b', encoding: 'UTF-8')
@platformos_app&.update([relative_path], remove: !file_exists?(relative_path))
end
|