Class: DiskSpace
- Inherits:
-
Object
- Object
- DiskSpace
- Defined in:
- lib/disk_space.rb
Class Method Summary collapse
- .free(path) ⇒ Object
- .percent_free(path) ⇒ Object
- .uploads_free_bytes ⇒ Object
- .uploads_used_bytes ⇒ Object
- .used(path) ⇒ Object
Class Method Details
.free(path) ⇒ Object
20 21 22 23 24 |
# File 'lib/disk_space.rb', line 20 def self.free(path) output = Discourse::Utils.execute_command("df", "-Pk", path) size_line = output.split("\n")[1] size_line.split(/\s+/)[3].to_i * 1024 end |
.percent_free(path) ⇒ Object
26 27 28 29 30 |
# File 'lib/disk_space.rb', line 26 def self.percent_free(path) output = Discourse::Utils.execute_command("df", "-P", path) size_line = output.split("\n")[1] size_line.split(/\s+/)[4].to_i end |
.uploads_free_bytes ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/disk_space.rb', line 12 def self.uploads_free_bytes if Discourse.store.external? 0 else free(uploads_path) end end |
.uploads_used_bytes ⇒ Object
4 5 6 7 8 9 10 |
# File 'lib/disk_space.rb', line 4 def self.uploads_used_bytes if Discourse.store.external? Upload.sum(:filesize).to_i + OptimizedImage.sum(:filesize).to_i else used(uploads_path) end end |
.used(path) ⇒ Object
32 33 34 |
# File 'lib/disk_space.rb', line 32 def self.used(path) Discourse::Utils.execute_command("du", "-s", path).to_i * 1024 end |