Class: Nucleon::Util::Disk
- Inherits:
-
Object
- Object
- Nucleon::Util::Disk
- Defined in:
- lib/core/util/disk.rb
Constant Summary collapse
- @@separator =
Properties
false
- @@description =
''
- @@file_lock =
Mutex.new
Class Method Summary collapse
-
.delete(file_path) ⇒ Object
—.
-
.exists?(file) ⇒ Boolean
—————————————————————————– Utilities.
-
.filename(file_name) ⇒ Object
—.
-
.log(data, options = {}) ⇒ Object
—.
-
.read(file_name, options = {}) ⇒ Object
—.
-
.write(file_name, data, options = {}) ⇒ Object
—.
Class Method Details
.delete(file_path) ⇒ Object
63 64 65 66 67 68 69 |
# File 'lib/core/util/disk.rb', line 63 def self.delete(file_path) result = nil @@file_lock.synchronize do result = ::File.delete(file_path) end result end |
.exists?(file) ⇒ Boolean
Utilities
17 18 19 |
# File 'lib/core/util/disk.rb', line 17 def self.exists?(file) return ::File.exists?(::File.(file)) end |
.filename(file_name) ⇒ Object
23 24 25 |
# File 'lib/core/util/disk.rb', line 23 def self.filename(file_name) return ( file_name.is_a?(Array) ? file_name.join(::File::SEPARATOR) : file_name.to_s ) end |
.log(data, options = {}) ⇒ Object
73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'lib/core/util/disk.rb', line 73 def self.log(data, = {}) reset = ( [:file_name] || [:mode] ) @@file_lock.synchronize do if file = ::File.open(( [:file_name] ? [:file_name] : 'log.txt' ), [:mode]) file.write("--------------------------------------\n") if @@separator file.write("#{@@description}\n") if @@description file.write("#{data}\n") file.close end end end |
.read(file_name, options = {}) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/core/util/disk.rb', line 29 def self.read(file_name, = {}) result = nil [:mode] = ( [:mode] ? [:mode] : 'r' ) @@file_lock.synchronize do begin if file = ::File.open(file_name, [:mode]) result = file.read file.close end rescue # TODO: Only catch error if file is not found. end end return result end |
.write(file_name, data, options = {}) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 59 |
# File 'lib/core/util/disk.rb', line 47 def self.write(file_name, data, = {}) result = nil [:mode] = ( [:mode] ? [:mode] : 'w' ) @@file_lock.synchronize do FileUtils.mkdir_p(::File.dirname(file_name)) if file = ::File.open(file_name, [:mode]) result = file.write(data) file.close end end return result end |