Class: LinuxAdmin::Distros::Distro

Inherits:
Object
  • Object
show all
Defined in:
lib/linux_admin/distro.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, release_file = nil, etc_issue_keywords = [], info_class = nil) ⇒ Distro

Returns a new instance of Distro.



34
35
36
37
38
39
# File 'lib/linux_admin/distro.rb', line 34

def initialize(id, release_file = nil, etc_issue_keywords = [], info_class = nil)
  @id                 = id
  @release_file       = release_file
  @etc_issue_keywords = etc_issue_keywords
  @info_class         = info_class
end

Instance Attribute Details

#etc_issue_keywordsObject

Returns the value of attribute etc_issue_keywords.



32
33
34
# File 'lib/linux_admin/distro.rb', line 32

def etc_issue_keywords
  @etc_issue_keywords
end

#info_classObject

Returns the value of attribute info_class.



32
33
34
# File 'lib/linux_admin/distro.rb', line 32

def info_class
  @info_class
end

#release_fileObject

Returns the value of attribute release_file.



32
33
34
# File 'lib/linux_admin/distro.rb', line 32

def release_file
  @release_file
end

Instance Method Details

#detected?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/linux_admin/distro.rb', line 41

def detected?
  detected_by_etc_issue? || detected_by_etc_release?
end

#detected_by_etc_issue?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'lib/linux_admin/distro.rb', line 45

def detected_by_etc_issue?
  etc_issue_keywords && etc_issue_keywords.any? { |k| EtcIssue.instance.include?(k) }
end

#detected_by_etc_release?Boolean

Returns:

  • (Boolean)


49
50
51
# File 'lib/linux_admin/distro.rb', line 49

def detected_by_etc_release?
  release_file && File.exist?(release_file)
end

#info(pkg) ⇒ Object



53
54
55
# File 'lib/linux_admin/distro.rb', line 53

def info(pkg)
  info_class ? info_class.info(pkg) : nil
end