Sha256: 49a602d194294ccbe7b0bba47bd0215a58d14b94ed1fff412a35609fd63c84ba

Contents?: true

Size: 1.58 KB

Versions: 61

Compression:

Stored size: 1.58 KB

Contents

module Katello
  class ContentOverride
    attr_accessor :content_label, :name, :value

    def initialize(content_label, params = {})
      @content_label = content_label
      if params.key?(:enabled)
        self.enabled = params[:enabled]
      else
        @name = params[:name]
        @value = params[:value]
      end
    end

    def enabled=(value = nil)
      @name = "enabled"
      @value = value
    end

    def computed_value
      return if self.value.nil?

      if self.name == "enabled"
        ::Foreman::Cast.to_bool(self.value)
      else
        self.value
      end
    end

    def to_entitlement_hash
      ret = {"contentLabel" => @content_label}
      ret["name"] = @name if @name
      ret["value"] = @value if @value
      ret.with_indifferent_access
    end

    def self.from_entitlement_hash(entitlement_hash)
      ent_hash =  entitlement_hash.with_indifferent_access
      override = ContentOverride.new(ent_hash["contentLabel"])
      override.name = ent_hash["name"]
      override.value = ent_hash["value"]
      override
    end

    def ==(other)
      if self.class == other.class
        self.content_label == other.content_label &&
          self.name == other.name &&
          self.value == other.value
      else
        super
      end
    end

    def to_hash
      {"content_label" => @content_label, "name" => @name, "value" => @value}
    end

    def self.fetch(params)
      if params.is_a?(ContentOverride)
        params
      else
        ContentOverride.new(params["content_label"], :name => params["name"], :value => params["value"])
      end
    end
  end
end

Version data entries

61 entries across 61 versions & 1 rubygems

Version Path
katello-4.16.0 app/models/katello/content_override.rb
katello-4.15.1 app/models/katello/content_override.rb
katello-4.16.0.rc2 app/models/katello/content_override.rb
katello-4.16.0.rc1 app/models/katello/content_override.rb
katello-4.14.3 app/models/katello/content_override.rb
katello-4.14.2 app/models/katello/content_override.rb
katello-4.15.0 app/models/katello/content_override.rb
katello-4.15.0.rc2 app/models/katello/content_override.rb
katello-4.15.0.rc1 app/models/katello/content_override.rb
katello-4.14.1 app/models/katello/content_override.rb
katello-4.14.0 app/models/katello/content_override.rb
katello-4.14.0.rc3 app/models/katello/content_override.rb
katello-4.14.0.rc2 app/models/katello/content_override.rb
katello-4.14.0.rc1.1 app/models/katello/content_override.rb
katello-4.14.0.rc1 app/models/katello/content_override.rb
katello-4.13.1 app/models/katello/content_override.rb
katello-4.13.0 app/models/katello/content_override.rb
katello-4.12.1 app/models/katello/content_override.rb
katello-4.13.0.rc1 app/models/katello/content_override.rb
katello-4.12.0 app/models/katello/content_override.rb