lib/echi-converter.rb in echi-converter-0.2.1 vs lib/echi-converter.rb in echi-converter-0.3.0

- old
+ new

@@ -13,14 +13,14 @@ end module EchiConverter def connect_database - databaseconfig = @workingdirectory + '/../config/database.yml' - dblogfile = @workingdirectory + '/../log/database.log' - ActiveRecord::Base.logger = Logger.new(dblogfile, @config["log_number"], @config["log_length"]) - case @config["log_level"] + databaseconfig = $workingdir + '/../config/database.yml' + dblogfile = $workingdir + '/../log/database.log' + ActiveRecord::Base.logger = Logger.new(dblogfile, $config["log_number"], $config["log_length"]) + case $config["log_level"] when 'FATAL' ActiveRecord::Base.logger.level = Logger::FATAL when 'ERROR' ActiveRecord::Base.logger.level = Logger::ERROR when 'WARN' @@ -39,13 +39,13 @@ end end #Method to open our application log def initiate_logger - logfile = @workingdirectory + '/../log/application.log' - @log = Logger.new(logfile, @config["log_number"], @config["log_length"]) - case @config["log_level"] + logfile = $workingdir + '/../log/application.log' + @log = Logger.new(logfile, $config["log_number"], $config["log_length"]) + case $config["log_level"] when 'FATAL' @log.level = Logger::FATAL when 'ERROR' @log.level = Logger::ERROR when 'WARN' @@ -58,14 +58,14 @@ end #Method to send alert emails def send_email_alert reason begin - Net::SMTP.start(@config["smtp_server"], @config["smtp_port"]) do |smtp| - smtp.open_message_stream('donotreply@echi-converter.rubyforge.org', [@config["alert_email_address"]]) do |f| + Net::SMTP.start($config["smtp_server"], $config["smtp_port"]) do |smtp| + smtp.open_message_stream('donotreply@echi-converter.rubyforge.org', [$config["alert_email_address"]]) do |f| f.puts "From: donotreply@echi-converter.rubyforge.org" - f.puts "To: " + @config['alert_email_address'] + f.puts "To: " + $config['alert_email_address'] f.puts "Subject: ECHI-Converter Failure" case reason when "DATABASE" f.puts "Failed to connect to the database." when "FTP" @@ -138,21 +138,21 @@ end #Mehtod that performs the conversions def convert_binary_file filename #Open the file to process - echi_file = @workingdirectory + "/../files/to_process/" + filename + echi_file = $workingdir + "/../files/to_process/" + filename @binary_file = open(echi_file,"rb") @log.debug "File size: " + @binary_file.stat.size.to_s #Read header information first filenumber = dump_binary 'int', 4 @log.debug "File_number " + filenumber.to_s fileversion = dump_binary 'int', 4 @log.debug "Version " + fileversion.to_s - if @config["echi_process_log"] == "Y" + if $config["echi_process_log"] == "Y" #Log the file echi_log = EchiLog.new echi_log.filename = filename echi_log.filenumber = filenumber echi_log.version = fileversion @@ -206,11 +206,11 @@ end #Move the file to the processed directory FileUtils.mv(echi_file, @processeddirectory) - if @config["echi_process_log"] == "Y" + if $config["echi_process_log"] == "Y" #Finish logging the details on the file echi_log.records = @record_cnt echi_log.processed_at = Time.now echi_log.save end @@ -219,13 +219,13 @@ end def connect_ftpsession #Open ftp connection begin - if @config["echi_connect_type"] == 'ftp' - ftp_session = Net::FTP.new(@config["echi_host"]) - ftp_session.login @config["echi_username"], @config["echi_password"] + if $config["echi_connect_type"] == 'ftp' + ftp_session = Net::FTP.new($config["echi_host"]) + ftp_session.login $config["echi_username"], $config["echi_password"] @log.info "Successfully connected to the ECHI FTP server" else #Stub for possible SSH support in the future #session = Net::SSH.start(config["echi_host"], config["echi_port"], config["echi_username"], config["echi_password"]) @log.fatal "SSH currently not supported, please use FTP for accessing the ECHI server" @@ -248,29 +248,29 @@ ftp_session = connect_ftpsession if ftp_session == -1 sleep 5 end attempts += 1 - if @config["echi_ftp_retry"] == attempts + if $config["echi_ftp_retry"] == attempts ftp_session = 0 end end if ftp_session != 0 begin - if @config["echi_ftp_directory"] != nil - ftp_session.chdir(@config["echi_ftp_directory"]) + if $config["echi_ftp_directory"] != nil + ftp_session.chdir($config["echi_ftp_directory"]) end files = ftp_session.list('chr*') file_cnt = 0 files.each do | file | #ACTION: Need to detect which OS we are running on and then parse the ftp data appropriately file_data = file.split(' ') remote_filename = file_data[8] - local_filename = @workingdirectory + '/../files/to_process/' + remote_filename + local_filename = $workingdir + '/../files/to_process/' + remote_filename ftp_session.getbinaryfile(remote_filename, local_filename) files_to_process[file_cnt] = remote_filename - if @config["echi_ftp_delete"] == 'Y' + if $config["echi_ftp_delete"] == 'Y' begin ftp_session.delete(remote_filename) rescue => err @log.fatal err end @@ -285,13 +285,13 @@ return files_to_process end end def process_ascii filename - echi_file = @workingdirectory + "/../files/to_process/" + filename + echi_file = $workingdir + "/../files/to_process/" + filename - if @config["echi_process_log"] == "Y" + if $config["echi_process_log"] == "Y" #Log the file echi_log = EchiLog.new echi_log.filename = filename #echi_log.filenumber = filenumber #echi_log.version = fileversion @@ -331,16 +331,16 @@ end #Move the file to the processed directory FileUtils.mv(echi_file, @processeddirectory) - if @config["echi_process_log"] == "Y" + if $config["echi_process_log"] == "Y" #Finish logging the details on the file echi_log.records = @record_cnt echi_log.processed_at = Time.now echi_log.save end return @record_cnt end -require @workingdirectory + '/echi-converter/version.rb' +require $workingdir + '/echi-converter/version.rb'