Sha256: 7e7605e0f03907b9ed0457943635913b06865c772c90512dc8e5429689770db0

Contents?: true

Size: 1.11 KB

Versions: 10

Compression:

Stored size: 1.11 KB

Contents

module ForemanOpenscap
  module OvalFacetHostgroupExtensions
    extend ActiveSupport::Concern

    include InheritedPolicies

    included do
      has_many :oval_policies, :through => :oval_facet, :class_name => 'ForemanOpenscap::OvalPolicy'

      scoped_search :relation => :oval_policies,
                    :on => :id,
                    :rename => :oval_policy_id,
                    :complete_value => false,
                    :only_explicit => true,
                    :ext_method => :find_by_oval_policy_id,
                    :operators => ['= ']
    end

    def inherited_oval_policies
      find_inherited_policies :oval_policies
    end

    module ClassMethods
      def find_by_oval_policy_id(_key, operator, value)
        conditions = sanitize_sql_for_conditions(["#{::ForemanOpenscap::HostgroupOvalFacetOvalPolicy.table_name}.oval_policy_id #{operator} ?", value])
        hg_ids = ::ForemanOpenscap::Hostgroup::OvalFacet.joins(:hostgroup_oval_facet_oval_policies).where(conditions).pluck(:hostgroup_id)
        { :conditions => ::Hostgroup.arel_table[:id].in(hg_ids).to_sql }
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
foreman_openscap-8.0.0 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-7.1.1 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-7.1.0 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-7.0.0 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-6.0.0 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-5.2.3 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-5.2.2 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-5.1.1 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-5.2.1 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb
foreman_openscap-5.2.0 app/models/concerns/foreman_openscap/oval_facet_hostgroup_extensions.rb