mirror of
https://github.com/zammad/zammad
synced 2026-05-24 09:48:36 +00:00
31 lines
702 B
Ruby
31 lines
702 B
Ruby
# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
|
|
|
|
class SystemReport::Plugin::Os < SystemReport::Plugin
|
|
OS_RELEASE_FILE = '/etc/os-release'.freeze
|
|
|
|
DESCRIPTION = __('Operating system').freeze
|
|
|
|
def fetch
|
|
os_release.merge(platform: RUBY_PLATFORM).deep_symbolize_keys
|
|
end
|
|
|
|
private
|
|
|
|
def os_release
|
|
return {} if !File.exist?(OS_RELEASE_FILE)
|
|
|
|
os_release = File.read(OS_RELEASE_FILE)
|
|
begin
|
|
os_release.split("\n").to_h do |line|
|
|
key, value = line.split('=')
|
|
key.downcase!
|
|
value.delete!('"')
|
|
|
|
[key, value]
|
|
end
|
|
rescue
|
|
Rails.logger.error("Failed to parse #{OS_RELEASE_FILE}")
|
|
{}
|
|
end
|
|
end
|
|
end
|