class Database
Public Class Methods
query(sql)
click to toggle source
# File lib/database.rb, line 33 def self.query(sql) looping = true counter = 0 results = nil self.connect while looping begin results = @client.query(sql) looping = false rescue => e counter += 1 if counter >= 5 @client.close fail "There was an error with the database connection or the query: #{e}" end sleep 2 self.connect end end self.disconnect results end
Private Class Methods
connect()
click to toggle source
# File lib/database.rb, line 61 def self.connect database = OpenStruct.new(YAML.load_file(METRICS_CONFIG_FILE)) @client = Mysql2::Client.new(:host => database.metrics_db['host'], :username => database.metrics_db['username'], :password => database.metrics_db['password'], :database => database.metrics_db['database']) end
disconnect()
click to toggle source
# File lib/database.rb, line 69 def self.disconnect @client.close end