Sha256: 7c825c7f3f68028039959b608bb9e80e172987645826191fdf9c0ef30072b7cd

Contents?: true

Size: 1.35 KB

Versions: 148

Compression:

Stored size: 1.35 KB

Contents

module Katello
  module Candlepin
    class SystemPurpose
      attr_reader :compliance

      # the purpose compliance of a consumer and via event queue
      # are in the same format so we can parse them identically
      def initialize(purpose_compliance)
        @compliance = purpose_compliance
      end

      def overall_status
        if compliance['status'] == 'not specified'
          :not_specified
        elsif compliance['status'] == 'matched'
          :matched
        elsif compliance['status'] == 'mismatched'
          :mismatched
        end
      end

      def sla_status
        purpose_status(compliance['compliantSLA'], compliance['nonCompliantSLA'])
      end

      def role_status
        purpose_status(compliance['compliantRole'], compliance['nonCompliantRole'])
      end

      def usage_status
        purpose_status(compliance['compliantUsage'], compliance['nonCompliantUsage'])
      end

      def addons_status
        purpose_status(compliance['compliantAddons'], compliance['nonCompliantAddons'])
      end

      def purpose_status(compliant, noncompliant)
        if (noncompliant.nil? || noncompliant.try(:empty?)) && compliant.empty?
          :not_specified
        elsif noncompliant.nil? || noncompliant.try(:empty?)
          :matched
        elsif noncompliant.present?
          :mismatched
        end
      end
    end
  end
end

Version data entries

148 entries across 148 versions & 1 rubygems

Version Path
katello-4.11.1 app/services/katello/candlepin/system_purpose.rb
katello-4.11.0 app/services/katello/candlepin/system_purpose.rb
katello-4.11.0.rc2 app/services/katello/candlepin/system_purpose.rb
katello-4.11.0.rc1 app/services/katello/candlepin/system_purpose.rb
katello-4.10.0 app/services/katello/candlepin/system_purpose.rb
katello-4.9.2 app/services/katello/candlepin/system_purpose.rb
katello-4.10.0.rc2 app/services/katello/candlepin/system_purpose.rb
katello-4.10.0.rc1 app/services/katello/candlepin/system_purpose.rb
katello-4.8.4 app/services/katello/candlepin/system_purpose.rb
katello-4.9.1 app/services/katello/candlepin/system_purpose.rb
katello-4.8.3 app/services/katello/candlepin/system_purpose.rb
katello-4.9.0 app/services/katello/candlepin/system_purpose.rb
katello-4.7.6 app/services/katello/candlepin/system_purpose.rb
katello-4.8.2 app/services/katello/candlepin/system_purpose.rb
katello-4.9.0.rc2 app/services/katello/candlepin/system_purpose.rb
katello-4.9.0.rc1 app/services/katello/candlepin/system_purpose.rb
katello-4.8.1 app/services/katello/candlepin/system_purpose.rb
katello-4.7.5 app/services/katello/candlepin/system_purpose.rb
katello-4.8.0 app/services/katello/candlepin/system_purpose.rb
katello-4.8.0.rc2 app/services/katello/candlepin/system_purpose.rb