Class: SoarStatus::Status

Inherits:
Object
  • Object
show all
Defined in:
lib/soar_status/status.rb

Constant Summary collapse

@@detailed_status_providers =
{}
@@release =
{}
@@configuration =
{}
@@environment =
{}

Class Method Summary collapse

Class Method Details

.clear_functional_status_providersObject



47
48
49
# File 'lib/soar_status/status.rb', line 47

def self.clear_functional_status_providers
  @functional_status_providers = []
end

.configurationObject



15
16
17
# File 'lib/soar_status/status.rb', line 15

def self.configuration
  @@configuration
end

.configuration=(configuration) ⇒ Object



11
12
13
# File 'lib/soar_status/status.rb', line 11

def self.configuration=(configuration)
  @@configuration = configuration
end

.detailed_statusObject



57
58
59
60
61
62
63
64
65
# 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

.environmentObject



23
24
25
# File 'lib/soar_status/status.rb', line 23

def self.environment
  @@environment
end

.environment=(environment) ⇒ Object



19
20
21
# File 'lib/soar_status/status.rb', line 19

def self.environment=(environment)
  @@environment = environment
end

.functional_statusObject



51
52
53
54
55
# 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_providersObject



43
44
45
# File 'lib/soar_status/status.rb', line 43

def self.functional_status_providers
  @functional_status_providers
end

.register_detailed_status_provider(name, provider) ⇒ Object



35
36
37
# 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) ⇒ Object



39
40
41
# 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

.releaseObject



31
32
33
# File 'lib/soar_status/status.rb', line 31

def self.release
  @@release
end

.release=(release) ⇒ Object



27
28
29
# File 'lib/soar_status/status.rb', line 27

def self.release=(release)
  @@release = release
end