class ForemanThemeSatellite::Lifecycle
Public Class Methods
lifecycle_data(version)
click to toggle source
rubocop:disable Metrics/AbcSize
# File lib/foreman_theme_satellite/lifecycle.rb, line 10 def lifecycle_data(version) yaml = metadata parsed = Foreman::Version.new(version) lifecycle_data = { current_version: version, short_version: "#{parsed.major}.#{parsed.minor}" } return lifecycle_data if yaml.empty? raise "Unexpected lifecycle metadata file version '#{yaml['version']}'" unless yaml['version'] == '1' eol = yaml['releases'].fetch(lifecycle_data[:short_version], {})['end_of_life'] lifecycle_data[:end_of_life] = Time.find_zone('UTC').parse(eol) if eol lifecycle_data[:status] = if lifecycle_data[:end_of_life].nil? nil elsif lifecycle_data[:end_of_life] < Time.zone.now 'danger' elsif lifecycle_data[:end_of_life] < 6.months.after 'warning' end lifecycle_data end
metadata()
click to toggle source
# File lib/foreman_theme_satellite/lifecycle.rb, line 4 def metadata metadata_path = ::ForemanThemeSatellite::LIFECYCLE_METADATA_PATH File.exist?(metadata_path) ? (YAML.load_file(metadata_path) || {}) : {} end