module Easymon

Constants

NoSuchCheck
VERSION

Public Class Methods

authorize_with=(block) click to toggle source
# File lib/easymon.rb, line 85
def self.authorize_with=(block)
  @authorize_with = block
end
authorized?(request) click to toggle source
# File lib/easymon.rb, line 89
def self.authorized?(request)
  @authorize_with.nil? ? true : @authorize_with.call(request)
end
has_before_action?() click to toggle source
# File lib/easymon.rb, line 49
def self.has_before_action?
  Easymon.rails_newer_than?("4.0.0.beta")
end
has_render_plain?() click to toggle source
# File lib/easymon.rb, line 44
def self.has_render_plain?
  # Rails 4.1.0 introduced :plain, Rails 5 deprecated :text
  Easymon.rails_newer_than?("4.1.0.beta")
end
mountable_engine?() click to toggle source
# File lib/easymon.rb, line 36
def self.mountable_engine?
  Easymon.rails_version > Gem::Version.new("3.1")
end
rails2?() click to toggle source
# File lib/easymon.rb, line 28
def self.rails2?
  Easymon.rails_version.between?(Gem::Version.new("2.3"), Gem::Version.new("3.0"))
end
rails30?() click to toggle source
# File lib/easymon.rb, line 32
def self.rails30?
  Easymon.rails_version.between?(Gem::Version.new("3.0"), Gem::Version.new("3.1"))
end
rails_newer_than?(version) click to toggle source
# File lib/easymon.rb, line 40
def self.rails_newer_than?(version)
  Easymon.rails_version > Gem::Version.new(version)
end
rails_version() click to toggle source
# File lib/easymon.rb, line 24
def self.rails_version
  Gem::Version.new(Rails.version)
end
routes(mapper, path = "/up") click to toggle source
# File lib/easymon.rb, line 53
def self.routes(mapper, path = "/up")
  if Easymon.rails2?
    # Rails 2.3.x (anything less than 3, really)
    $:.unshift File.expand_path(File.join(
      File.dirname(__FILE__),
      "..","app","controllers"))
    require 'easymon/checks_controller'

    mapper.instance_eval do
      connect "#{path}.:format", :controller => "easymon/checks", :action => "index"
      connect "#{path}/:check.:format", :controller => "easymon/checks", :action => "show"
    end
  elsif Easymon.rails30?
    # Greater than 3.0, but less than 3.1
    mapper.instance_eval do
      get "#{path}(.:format)", :controller => 'easymon/checks', :action => 'index'
      get "#{path}/:check", :controller => 'easymon/checks', :action => 'show'
    end
  elsif Easymon.mountable_engine?
    # Rails 3.1+
    mapper.instance_eval do
      get "/(.:format)", :to => "checks#index"
      root :to => "checks#index"
      get "/:check", :to => "checks#show"
    end
  end
end
timing_to_ms(timing = 0) click to toggle source
# File lib/easymon.rb, line 81
def self.timing_to_ms(timing = 0)
  sprintf("%.3f", (timing * 1000))
end