class HammerCLIForeman::CommandExtensions::Ping

Public Class Methods

check_for_unrecognized(plugins, output_definition) click to toggle source
# File lib/hammer_cli_foreman/command_extensions/ping.rb, line 27
def self.check_for_unrecognized(plugins, output_definition)
  failed = plugins.select { |_, data| data['services'] }
                  .each_with_object([]) { |(_, d), s| s << d['services'] }
                  .reduce({}, :merge)
                  .select do |name, data|
    begin
      output_definition.find_field(name)
      false
    rescue ArgumentError
      data['status'] == _('FAIL')
    end
  end
  return if failed.empty?

  warn [_('%{count} more service(s) failed, but not shown:') % { count: failed.size },
        failed.keys.join(', '),
        ''].join("\n")
end
failed?(services) click to toggle source
# File lib/hammer_cli_foreman/command_extensions/ping.rb, line 46
def self.failed?(services)
  services['foreman']['database']['active'] == 'FAIL' ||
    services.each_value.any? { |s| s['status'] == _('FAIL') }
end
format_cache(cache) click to toggle source
# File lib/hammer_cli_foreman/command_extensions/ping.rb, line 15
def self.format_cache(cache)
  servers = cache['servers'].map do |server|
    {
      status: server['status'],
      duration_ms: _('Duration: %sms') % server['duration_ms']
    }
  end
  {
    'servers': servers
  }
end