class SoarStatus::Status

Public Class Methods

clear_functional_status_providers() click to toggle source
# File lib/soar_status/status.rb, line 47
def self.clear_functional_status_providers
  @functional_status_providers = []
end
configuration() click to toggle source
# File lib/soar_status/status.rb, line 15
def self.configuration
  @@configuration
end
configuration=(configuration) click to toggle source
# File lib/soar_status/status.rb, line 11
def self.configuration=(configuration)
  @@configuration = configuration
end
detailed_status() click to toggle source
# File lib/soar_status/status.rb, line 57
def self.detailed_status
  {
    'release' => @@release,
    'configuration' => @@configuration,
    'environment' => @@environment,
    'functional' => self.functional_status,
    'detail' => self.aggregate_detailed_statuses
  }
end
environment() click to toggle source
# File lib/soar_status/status.rb, line 23
def self.environment
  @@environment
end
environment=(environment) click to toggle source
# File lib/soar_status/status.rb, line 19
def self.environment=(environment)
  @@environment = environment
end
functional_status() click to toggle source
# File lib/soar_status/status.rb, line 51
def self.functional_status
 return 'no registered functional status provider' if @functional_status_providers.empty?
 return '0' if @functional_status_providers.any? { |provider| provider.functional_status != '100' }
 '100'
end
functional_status_providers() click to toggle source
# File lib/soar_status/status.rb, line 43
def self.functional_status_providers
  @functional_status_providers
end
register_detailed_status_provider(name,provider) click to toggle source
# File lib/soar_status/status.rb, line 35
def self.register_detailed_status_provider(name,provider)
  @@detailed_status_providers[name] = provider
end
register_functional_status_provider(provider) click to toggle source
# File lib/soar_status/status.rb, line 39
def self.register_functional_status_provider(provider)
 @functional_status_providers << provider unless @functional_status_providers.any? {|p| p.class == provider.class }
end
release() click to toggle source
# File lib/soar_status/status.rb, line 31
def self.release
  @@release
end
release=(release) click to toggle source
# File lib/soar_status/status.rb, line 27
def self.release=(release)
  @@release = release
end

Private Class Methods

aggregate_detailed_statuses() click to toggle source
# File lib/soar_status/status.rb, line 69
def self.aggregate_detailed_statuses
  aggregated_statuses = {}
  @@detailed_status_providers.each do |name, object|
    aggregated_statuses[name] = object.detailed_status if object.detailed_status.is_a?(Hash)
  end
  aggregated_statuses
end