class Parsefiles::Folders
Constants
- VALID_TYPES
Attributes
files[RW]
folder[RW]
Public Class Methods
new(folder,options={})
click to toggle source
# File lib/parsefiles/folders.rb, line 13 def initialize(folder,options={}) @folder = check_location(folder) @files = get_files_with_date @options = options end
Public Instance Methods
calc_start_date(days_back)
click to toggle source
# File lib/parsefiles/folders.rb, line 56 def calc_start_date(days_back) date = Date.today - days_back date.strftime('%m-%d-%Y') end
check_location(folder)
click to toggle source
# File lib/parsefiles/folders.rb, line 19 def check_location(folder) if folder.match(/.*\.log$|txt$|gz$/i) "./#{folder}" else folder = remove_trailing_slash(folder) "#{folder}/*."+VALID_TYPES end end
get_end_date()
click to toggle source
# File lib/parsefiles/folders.rb, line 51 def get_end_date Folders.validate_date_format(@options["end_date"]) @options["end_date"] if @options["end_date"] end
get_files_in_range()
click to toggle source
# File lib/parsefiles/folders.rb, line 32 def get_files_in_range start_date = get_start_date end_date = get_end_date result = [] @files.each_with_index do |file,index| result << file[0] if Folders.date_in_range(file[1],start_date,end_date) end result end
get_start_date()
click to toggle source
# File lib/parsefiles/folders.rb, line 43 def get_start_date if @options["days_back"].to_i > 1 days_back else start_date end end
remove_trailing_slash(folder)
click to toggle source
# File lib/parsefiles/folders.rb, line 28 def remove_trailing_slash(folder) folder.gsub(/(.*)\/$/,'\1') end
Private Instance Methods
days_back()
click to toggle source
# File lib/parsefiles/folders.rb, line 63 def days_back calc_start_date(@options[:days_back].to_i) end
get_files_with_date()
click to toggle source
Returns an array with file and date in unix time format [‘file.txt’,‘40001245’]
# File lib/parsefiles/folders.rb, line 73 def get_files_with_date file_list = Dir.glob(@folder) result = [] file_list.reduce([]) do |file_stats,file| file_stats = Array.new file_stats << file file_stats << Folders.unix_ts(file) result << file_stats end end
start_date()
click to toggle source
# File lib/parsefiles/folders.rb, line 67 def start_date Folders.validate_date_format(@options["start_date"]) @options["start_date"] if @options["start_date"] end