module Eco::Data::Files::ClassMethods
Public Instance Methods
copy_file(source_file, dest_file, time_stamp: false)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 62 def copy_file(source_file, dest_file, time_stamp: false) dest_file = timestamp_file(dest_file) if time_stamp File.write(dest_file, File.read(source_file)) end
create_directory(path, includes_file: false)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 18 def create_directory(path, includes_file: false) Directory.create(path, includes_file: includes_file) end
dir_exists?(path)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 49 def dir_exists?(path) Dir.exist?(path) || Dir.exist?(File.expand_path(path)) end
encoding(path)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 80 def encoding(path) has_bom?(path) ? "bom" : "utf-8" end
file_basename(fullname)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 32 def file_basename(fullname) File.basename(fullname, File.extname(fullname)) end
file_empty?(path)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 67 def file_empty?(path) return true if !File.file?(path) File.zero?(path) end
file_exists?(file)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 44 def file_exists?(file) return false if !file return File.exists?(file) || File.exists?(File.expand_path(file)) end
file_fullpath(fullname)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 40 def file_fullpath(fullname) file_path(File.expand_path(fullname)) end
file_name(fullname)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 28 def file_name(fullname) File.basename(fullname) end
file_path(fullname)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 36 def file_path(fullname) File.dirname(fullname) end
has_bom?(path)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 72 def has_bom?(path) return false if !path || file_empty?(path) File.open(path, "rb") do |f| bytes = f.read(3) return bytes.unpack("C*") == [239, 187, 191] end end
script_subfolder()
click to toggle source
# File lib/eco/data/files/helpers.rb, line 84 def script_subfolder basename = File.basename($0, File.extname($0)) path = File.dirname($0) File.join(path, basename) end
split(path)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 22 def split(path) dir_path, file = File.split(path) dir_path = dir_path.gsub(File::SEPARATOR, File::ALT_SEPARATOR || File::SEPARATOR) dir_path.split(File::ALT_SEPARATOR || File::SEPARATOR).push(file) end
timestamp(timestamp_pattern = DEFAULT_TIMESTAMP_PATTERN)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 53 def timestamp(timestamp_pattern = DEFAULT_TIMESTAMP_PATTERN) Time.now.strftime(timestamp_pattern) end
timestamp_file(filename, timestamp_pattern = DEFAULT_TIMESTAMP_PATTERN)
click to toggle source
# File lib/eco/data/files/helpers.rb, line 57 def timestamp_file(filename, timestamp_pattern = DEFAULT_TIMESTAMP_PATTERN) file_pattern = Eco::Data::Files::FilePattern.new(filename) file_pattern.resolve(start: timestamp(timestamp_pattern) + '_') end