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
16 17 18 19 20 |
# File 'lib/disk_space.rb', line 16 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
22 23 24 25 26 |
# File 'lib/disk_space.rb', line 22 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
8 9 10 11 12 13 14 |
# File 'lib/disk_space.rb', line 8 def self.uploads_free_bytes if Discourse.store.external? 0 else free(uploads_path) end end |
.uploads_used_bytes ⇒ Object
4 5 6 |
# File 'lib/disk_space.rb', line 4 def self.uploads_used_bytes Upload.sum(:filesize).to_i + OptimizedImage.sum(:filesize).to_i end |
.used(path) ⇒ Object
28 29 30 |
# File 'lib/disk_space.rb', line 28 def self.used(path) Discourse::Utils.execute_command("du", "-s", path).to_i * 1024 end |