Sha256: b7c24ec58060f867d9c03be60f56135782f24fff8747a92ee727d175e78a9312
Contents?: true
Size: 1.99 KB
Versions: 1
Compression:
Stored size: 1.99 KB
Contents
module SoarStatus class Status @@detailed_status_providers = {} @@release_version = '' @@release_commit_hash = '' @@detailed_status_providers = {} @@functional_status_provider = nil @@configuration = {} @@environment = {} def self.configuration=(configuration) @@configuration = configuration end def self.configuration @@configuration end def self.environment=(environment) @@environment = environment end def self.environment @@environment end def self.release_version=(release_version) @@release_version = release_version end def self.release_version @@release_version end def self.release_commit_hash=(release_commit_hash) @@release_commit_hash = release_commit_hash end def self.release_commit_hash @@release_commit_hash end def self.register_detailed_status_provider(name,provider) @@detailed_status_providers[name] = provider end def self.register_functional_status_provider(provider) @@functional_status_provider = provider end def self.functional_status return @@functional_status_provider.functional_status if @@functional_status_provider 'no registered functional status provider' end def self.detailed_status { 'release' => self.compile_release_information, 'configuration' => @@configuration, 'environment' => @@environment, 'functional' => self.functional_status, 'detail' => self.aggregate_detailed_statuses } end private 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 def self.compile_release_information { 'commit_hash' => @@release_commit_hash, 'version' => @@release_version } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
soar_status-0.0.1 | lib/soar_status/status.rb |