Class: Rubyipmi::Freeipmi::ErrorCodes

Inherits:
Object
  • Object
show all
Defined in:
lib/rubyipmi/freeipmi/errorcodes.rb

Constant Summary collapse

@@codes =
{
    "authentication type unavailable for attempted privilege level" => {"driver-type" => "LAN_2_0"},
    "authentication type unavailable for attempted privilege level\n" => {"driver-type" => "LAN_2_0"},
 }

Class Method Summary collapse

Class Method Details

.codeObject



15
16
17
# File 'lib/rubyipmi/freeipmi/errorcodes.rb', line 15

def self.code
   @@codes
end

.lengthObject



11
12
13
# File 'lib/rubyipmi/freeipmi/errorcodes.rb', line 11

def self.length
  @@codes.length
end

.search(code) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rubyipmi/freeipmi/errorcodes.rb', line 19

def self.search(code)
  # example error code:
  # "/usr/local/sbin/bmc-info: authentication type unavailable for attempted privilege level\n"
  code.chomp!  # clean up newline
  code = code.split(':').last.strip  # clean up left hand side and strip white space from sides
  fix = @@codes.fetch(code,nil)
  if fix.nil?
    @@codes.each do | error, result |
      if code =~ /.*#{error}.*/i
        fix = result
      end
    end
  end
  raise "No Fix found" if fix.nil?
  return fix
end