Module: ForemanOpenscap::DataStreamContent

Extended by:
ActiveSupport::Concern
Included in:
ScapContent, TailoringFile
Defined in:
app/models/concerns/foreman_openscap/data_stream_content.rb

Instance Method Summary collapse

Instance Method Details

#create_or_update_profile(profile_id, title) ⇒ Object



26
27
28
29
30
31
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 26

def create_or_update_profile(profile_id, title)
  profile = ScapContentProfile.find_by(:profile_id => profile_id, "#{self.class.to_s.demodulize.underscore}_id".to_sym => id)
  return ScapContentProfile.create(:profile_id => profile_id, :title => title, "#{self.class.to_s.demodulize.underscore}_id".to_sym => id) unless profile
  profile.update(:title => title) unless profile.title == title
  profile
end

#create_profilesObject



20
21
22
23
24
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 20

def create_profiles
  fetch_profiles.each do |key, title|
    create_or_update_profile key, title
  end
end

#proxy_urlObject



12
13
14
15
16
17
18
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 12

def proxy_url
  @proxy_url ||= SmartProxy.with_features('Openscap').find do |proxy|
    available = ProxyAPI::AvailableProxy.new(:url => proxy.url)
    available.available?
  end.try(:url)
  @proxy_url
end