Class: Uberinstaller::Platform

Inherits:
Object
  • Object
show all
Includes:
Loggable
Defined in:
lib/uberinstaller/platform.rb

Overview

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Loggable

configure_logger_for, #logger, logger_for

Constructor Details

#initialize(opts = {}) ⇒ Platform

Get platform, detect ubuntu, detect ubuntu version, save lsb params

Parameters:

  • opts (Hash) (defaults to: {})

    :lsb => the file containing LSB information



24
25
26
27
28
29
30
31
32
33
34
# File 'lib/uberinstaller/platform.rb', line 24

def initialize(opts = {})
  @opts = opts.keyword_args(:lsb => '/etc/lsb-release')
  
  @lsb = nil
  @uname = nil
  
  get_lsb_informations
  get_arch_informations

  @architecture = @uname[:machine]
end

Instance Attribute Details

#architectureObject (readonly)

OS architecture information



18
19
20
# File 'lib/uberinstaller/platform.rb', line 18

def architecture
  @architecture
end

#lsbObject (readonly)

LSB module information



18
# File 'lib/uberinstaller/platform.rb', line 18

attr_reader :architecture, :lsb, :uname

#unameObject (readonly)

Returns the value of attribute uname.



18
# File 'lib/uberinstaller/platform.rb', line 18

attr_reader :architecture, :lsb, :uname

Instance Method Details

#is_32bit?Boolean

Reverse of is_64bit?

Returns:

  • (Boolean)


49
50
51
# File 'lib/uberinstaller/platform.rb', line 49

def is_32bit?
  !is_64bit?
end

#is_64bit?Boolean

Check if system is running 64 bit OS

Returns:

  • (Boolean)


54
55
56
57
58
# File 'lib/uberinstaller/platform.rb', line 54

def is_64bit?
  return @uname[:machine] == 'x86_64' if @uname[:machine]
  logger.fatal 'uname is not set, impossible to get machine information'
  false
end

#is_not_ubuntu?Boolean

Reverse of is_ubuntu?

Returns:

  • (Boolean)


44
45
46
# File 'lib/uberinstaller/platform.rb', line 44

def is_not_ubuntu?
  !is_ubuntu?
end

#is_ubuntu?Boolean

Check if platform is Ubuntu

Returns:

  • (Boolean)


37
38
39
40
41
# File 'lib/uberinstaller/platform.rb', line 37

def is_ubuntu?
  return @lsb[:id] == 'Ubuntu' if @lsb[:id]
  logger.fatal 'lsb is not set, impossible to get OS information'
  false
end