Class: Proxy::OpenSCAP::FetchScapContent

Inherits:
FetchFile
  • Object
show all
Defined in:
lib/smart_proxy_openscap/fetch_scap_content.rb

Instance Method Summary collapse

Instance Method Details

#get_policy_content(policy_id, digest) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
# File 'lib/smart_proxy_openscap/fetch_scap_content.rb', line 5

def get_policy_content(policy_id, digest)
  policy_store_dir = File.join(Proxy::OpenSCAP.fullpath(Proxy::OpenSCAP::Plugin.settings.contentdir), policy_id.to_s)
  policy_scap_file = File.join(policy_store_dir, "#{policy_id}_#{digest}.xml")
  file_download_path = "api/v2/compliance/policies/#{policy_id}/content"

  create_store_dir policy_store_dir

  scap_file = policy_content_file(policy_scap_file)
  clean_store_folder(policy_store_dir) unless scap_file
  scap_file ||= save_or_serve_scap_file(policy_scap_file, file_download_path)
end