Skip to content

Instantly share code, notes, and snippets.

View christianromney's full-sized avatar
🏠
Working from home

Christian Romney christianromney

🏠
Working from home
View GitHub Profile
# Hmmm, not sure I like it
# not much of an improvement
class Thing < AR::Base
StateMap = Hash.new {|h,k| h[k] = @@states[3]}.update({
'disabled' => @@states[0..1],
'active' => @@states[2],
'all' => nil
})
require 'config/environment'
def create_reports
DAS_SERVERS.each do |server|
report = SubmitTerminationReport.publish(server, :log => STATE_LOG);
write_file(report, server, SUBMIT_TERM_PREFIX)
report = ActivateDeviceReport.publish(server, :log => DAO_LOG);
write_file(report, server, ACTIVATE_DEVICE_PREFIX)
class ActivateDeviceReport < Report
fields :time, :date :call_id, :exec_time, :account_number, :sr_number, :serial_number , :output, :das_server
pattern /^(\d{2}:\d{2}:\d{2},\d{3}).*?(\d{2}\/\d{2})\s(\w*?)\s.*?\[execution\(activateDevice\)\].*?(\d*)ms.*?accountNumber=(\d*?),srNumber=(\d*?)\],serialNumber=(.*?),.*?output\s=\s(.*?)/
end
class Report
BLANK = "".freeze
class << self
def publish(server, options = {})
report = self.new
report.process(options[:log], server)
end
end
class Report
attr_reader :input, :output
def initialize(input, output)
@input = input
@output = output
end
def publish(server)
# Only fixes the structural stupidity, not the retardedness
# of the underlying method of package finding
def get_cruise_package(cruise_package_code)
returning(package = nil) do |pack|
[
:getPreHotelPackage, :getPostHotelPackage, :getShorexPackage,
:getPreTransfersPackage, :getPostTransfersPackage, getMotorcoachPackage
].detect do |find_by_package_type|
pack = send(find_by_package_type, cruise_package_code)
end