Sha256: d277f73f11197c542e953b72d9f2dade75b36bf4e1aaad1617681b3bd8a6f7ef

Contents?: true

Size: 1.3 KB

Versions: 28

Compression:

Stored size: 1.3 KB

Contents

module ForemanOpenscap
  module HostgroupOverriderCommon
    def add_overrides(collection, host_or_hg, config)
      model_match = host_or_hg.class.name.underscore =~ /\Ahostgroup\z/ ? "hostgroup" : "fqdn"
      collection.where(:override => true).find_each do |override|
        return unless host_or_hg.openscap_proxy && (url = host_or_hg.openscap_proxy.url).present?

        openscap_proxy_uri = URI.parse(url)
        case override.key
        when config.server_param
          lookup_value = LookupValue.where(:match => "#{model_match}=#{host_or_hg.to_label}", :lookup_key_id => override.id).first_or_initialize
          lookup_value.update_attribute(:value, openscap_proxy_uri.host)
        when config.port_param
          lookup_value = LookupValue.where(:match => "#{model_match}=#{host_or_hg.to_label}", :lookup_key_id => override.id).first_or_initialize
          lookup_value.update_attribute(:value, openscap_proxy_uri.port)
        end
      end
    end

    def remove_overrides(collection, hostgroup, config)
      collection.where(:override => true).find_each do |override|
        if override.key == config.server_param || override.key == config.port_param
          LookupValue.find_by(:match => "hostgroup=#{hostgroup.to_label}", :lookup_key_id => override.id)&.destroy
        end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
foreman_openscap-10.2.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.5 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-10.1.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-10.0.3 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-10.0.2 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-10.0.1 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-10.0.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.4 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.3 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.2 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.1 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-9.0.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-8.0.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-7.1.1 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-7.1.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-7.0.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-6.0.0 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-5.2.3 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-5.2.2 app/services/foreman_openscap/hostgroup_overrider_common.rb
foreman_openscap-5.1.1 app/services/foreman_openscap/hostgroup_overrider_common.rb