Module: FileProvider
- Included in:
- BaseDatafier, CSVifier
- Defined in:
- lib/datafy/FileProvider.rb
Instance Attribute Summary collapse
-
#file_name ⇒ Object
readonly
Returns the value of attribute file_name.
Class Method Summary collapse
- .backupFile(fileName) ⇒ Object
- .dataDir ⇒ Object
- .dataDir=(dir) ⇒ Object
- .getBackupFileName(fileName) ⇒ Object
- .getDataDir ⇒ Object
- .getDataFileName(fileName) ⇒ Object
- .getDir(dir = 'data') ⇒ Object
- .getLogDir ⇒ Object
- .localDir ⇒ Object
- .localDir=(dir) ⇒ Object
- .logDir ⇒ Object
- .logDir=(dir) ⇒ Object
Instance Method Summary collapse
- #backupFile(fileName) ⇒ Object
- #dataTextFile(fileName, mode = 'a') ⇒ Object
- #openLogFile(fileName = "#{self.class.to_s}_log.txt") ⇒ Object
-
#removeFile(fileName) ⇒ Object
def openLogFile.
Instance Attribute Details
#file_name ⇒ Object (readonly)
Returns the value of attribute file_name.
47 48 49 |
# File 'lib/datafy/FileProvider.rb', line 47 def file_name @file_name end |
Class Method Details
.backupFile(fileName) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/datafy/FileProvider.rb', line 88 def self.backupFile fileName status = nil if File.file?(fileName) backupName = getBackupFileName fileName FileUtils.cp(fileName,backupName) status = { status: :backedUp, name: backupName } else status = { status: :originalFileNotFound } end return status end |
.dataDir ⇒ Object
15 16 17 |
# File 'lib/datafy/FileProvider.rb', line 15 def self.dataDir @data_dir ||= getDataDir end |
.dataDir=(dir) ⇒ Object
39 40 41 |
# File 'lib/datafy/FileProvider.rb', line 39 def self.dataDir= dir @data_dir = dir end |
.getBackupFileName(fileName) ⇒ Object
104 105 106 107 |
# File 'lib/datafy/FileProvider.rb', line 104 def self.getBackupFileName fileName fqname = getDataFileName fileName "#{fileName}.#{DateTime.now}" end |
.getDataDir ⇒ Object
19 20 21 |
# File 'lib/datafy/FileProvider.rb', line 19 def self.getDataDir getDir 'data' end |
.getDataFileName(fileName) ⇒ Object
49 50 51 52 53 |
# File 'lib/datafy/FileProvider.rb', line 49 def self.getDataFileName fileName normFileName = fileName.split('/').last file_name = "#{dataDir}/#{normFileName}" return file_name end |
.getDir(dir = 'data') ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/datafy/FileProvider.rb', line 31 def self.getDir dir='data' dir_name = "#{localDir}/#{dir}".gsub(/[\/]+/,'/') unless Dir.exists?(dir_name) Dir.mkdir(dir_name) end return dir_name end |
.getLogDir ⇒ Object
27 28 29 |
# File 'lib/datafy/FileProvider.rb', line 27 def self.getLogDir getDir 'logs' end |
.localDir ⇒ Object
7 8 9 |
# File 'lib/datafy/FileProvider.rb', line 7 def self.localDir @local_dir ||= Dir.pwd end |
.localDir=(dir) ⇒ Object
11 12 13 |
# File 'lib/datafy/FileProvider.rb', line 11 def self.localDir= dir @local_dir = dir end |
.logDir ⇒ Object
23 24 25 |
# File 'lib/datafy/FileProvider.rb', line 23 def self.logDir @log_dir ||= getLogDir end |
.logDir=(dir) ⇒ Object
43 44 45 |
# File 'lib/datafy/FileProvider.rb', line 43 def self.logDir= dir @log_dir = dir end |
Instance Method Details
#backupFile(fileName) ⇒ Object
100 101 102 |
# File 'lib/datafy/FileProvider.rb', line 100 def backupFile fileName self.class.backupFile fileName end |
#dataTextFile(fileName, mode = 'a') ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/datafy/FileProvider.rb', line 55 def dataTextFile fileName, mode='a' fqname = getDataFileName(fileName) file = nil begin file = File.open(fqname,mode) rescue => e puts "FileProvider.dataTextFile(#{fileName}) problem: #{e.message}" file = nil end # return HarvesterFile.new fileName, fqname, file return file end |
#openLogFile(fileName = "#{self.class.to_s}_log.txt") ⇒ Object
68 69 70 71 |
# File 'lib/datafy/FileProvider.rb', line 68 def openLogFile fileName="#{self.class.to_s}_log.txt" fqname = getDataFileName(fileName) @logFile = File.open(fqname, 'a+') end |
#removeFile(fileName) ⇒ Object
def openLogFile
73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'lib/datafy/FileProvider.rb', line 73 def removeFile fileName fqname = getDataFileName(fileName) status = '' if File.file?(fqname) # puts 'Data file already exists' backupFile(fqname) # puts "removing data file: '#{fileName}' -> '#{fqname}'" result = system "rm '#{fqname}'" status = result.is_a?(TrueClass) ? 'Success' : 'Failue' else status = 'File not found' end return status end |