Sha256: 01c58f7f1eba5908e9a719bf5440177cb39d49e4bb34200602a8fa3daf433ab3

Contents?: true

Size: 753 Bytes

Versions: 9

Compression:

Stored size: 753 Bytes

Contents

require 'active_record'

module IsItWorking
  # Check if the database connection used by an ActiveRecord class is up.
  #
  # The ActiveRecord class that yields the connection can be specified with the <tt>:class</tt>
  # option. By default this will be ActiveRecord::Base.
  #
  # === Example
  #
  #   IsItWorking::Handler.new do |h|
  #     h.check :active_record, :class => User
  #   end
  class ActiveRecordCheck
    def initialize(options={})
      @class = options[:class] || ActiveRecord::Base
    end
    
    def call(status)
      @class.connection.verify!
      if @class.connection.active?
        status.ok("#{@class}.connection is active")
      else
        status.fail("#{@class}.connection is not active")
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 2 rubygems

Version Path
is_it_working-1.1.0 lib/is_it_working/checks/active_record_check.rb
is_it_working-1.0.11 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.16 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.15 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.14 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.13 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.12 lib/is_it_working/checks/active_record_check.rb
is_it_working-cbeer-1.0.11 lib/is_it_working/checks/active_record_check.rb
is_it_working-1.0.10 lib/is_it_working/checks/active_record_check.rb