class Easymon::ActiveRecordMysqlWriteableCheck

Attributes

klass[RW]

Public Class Methods

new(klass) click to toggle source
# File lib/easymon/checks/active_record_mysql_writeable_check.rb, line 5
def initialize(klass)
  self.klass = klass
  @query = "SELECT @@read_only for UPDATE"
end

Public Instance Methods

check() click to toggle source
# File lib/easymon/checks/active_record_mysql_writeable_check.rb, line 10
def check
  check_status = database_writeable?
  if check_status
    message = "@@read_only is 0"
  else
    message = "@@read_only is 1"
  end
  [check_status, message]
end

Private Instance Methods

database_writeable?() click to toggle source
# File lib/easymon/checks/active_record_mysql_writeable_check.rb, line 21
def database_writeable?
  klass.connection.execute(@query).to_enum.first.first.to_i == 0
rescue
  false
end