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
- #create_or_update_profile(profile_id, title) ⇒ Object
- #create_profiles ⇒ Object
- #digest ⇒ Object
- #proxy_url ⇒ Object
Instance Method Details
#create_or_update_profile(profile_id, title) ⇒ Object
37 38 39 40 41 42 |
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 37 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_profiles ⇒ Object
31 32 33 34 35 |
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 31 def create_profiles fetch_profiles.each do |key, title| create_or_update_profile key, title end end |
#digest ⇒ Object
27 28 29 |
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 27 def digest self[:digest] ||= Digest::SHA256.hexdigest(scap_file.to_s) end |
#proxy_url ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/models/concerns/foreman_openscap/data_stream_content.rb', line 19 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 |