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