Class: ProxES::StatusCheck

Inherits:
Sequel::Model
  • Object
show all
Extended by:
ProxES::Services::ES
Defined in:
lib/proxes/models/status_check.rb

Constant Summary collapse

SOURCE_CALLS =
{
  health: %i[cluster health],
  node_stats: %i[nodes stats]
}.freeze

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ProxES::Services::ES

client, conn, ssl_store

Class Method Details

.source_result(source) ⇒ Object



50
51
52
53
54
55
56
57
58
# File 'lib/proxes/models/status_check.rb', line 50

def source_result(source)
  @source_result ||= Hash.new do |h, k|
    h[k] = client
    SOURCE_CALLS[source.to_sym].each do |call|
      h[k] = h[k].send(call)
    end
    h[k]
  end
end

Instance Method Details

#checkObject



21
22
23
# File 'lib/proxes/models/status_check.rb', line 21

def check
  raise 'Unimplemented'
end

#childrenObject



39
# File 'lib/proxes/models/status_check.rb', line 39

def children; end

#formatted(val = nil) ⇒ Object



41
42
43
# File 'lib/proxes/models/status_check.rb', line 41

def formatted(val = nil)
  val || value
end

#passed?Boolean

Returns:

  • (Boolean)


29
30
31
32
33
# File 'lib/proxes/models/status_check.rb', line 29

def passed?
  return @result if defined? @result

  check
end

#policy_classObject



45
46
47
# File 'lib/proxes/models/status_check.rb', line 45

def policy_class
  StatusCheckPolicy
end

#source_resultObject



35
36
37
# File 'lib/proxes/models/status_check.rb', line 35

def source_result
  self.class.source_result(source)
end

#validateObject



16
17
18
19
# File 'lib/proxes/models/status_check.rb', line 16

def validate
  super
  validates_presence %i[name source]
end

#valueObject



25
26
27
# File 'lib/proxes/models/status_check.rb', line 25

def value
  raise 'Unimplemented'
end