class SystemdServiceCheck::Base

Base

Attributes

envs[R]
results[R]
role[R]
servers[R]
target_envs[R]
target_servers[R]

Public Class Methods

new(envs, yaml, role = nil) click to toggle source

@param envs [Arrat<String>] @param yaml [String] @param role [String]

# File lib/systemd_service_check.rb, line 24
def initialize(envs, yaml, role = nil)
  raise Utils::InvalidOptionError, "Argument `yaml` must not be blank." if blank? yaml

  @envs           = envs || []
  @role           = role.nil? || role.empty? ? nil : role
  @servers        = servers_from(yaml)
  @target_envs    = configure_target_envs(envs, @servers)
  @target_servers = configure_target_servers(@servers, @target_envs, @role)
  @results        = []
end

Public Instance Methods

run() click to toggle source
# File lib/systemd_service_check.rb, line 35
def run
  @results = @target_servers.map { |server| ssh(server) }
end
to_json() click to toggle source
# File lib/systemd_service_check.rb, line 39
def to_json
  @results.map do |result|
    { server:   result.server.to_h,
      services: result.services.map(&:to_h) }
  end.to_json
end

Private Instance Methods

blank?(yaml) click to toggle source
# File lib/systemd_service_check.rb, line 48
def blank?(yaml)
  yaml.nil? || yaml.empty?
end