Sha256: b3419dbca21529ec429e9cebb5cc08baf0b30eb63e40bc30b30d2b277262365b

Contents?: true

Size: 836 Bytes

Versions: 2

Compression:

Stored size: 836 Bytes

Contents

module ForemanAnsible
  # This module takes the config reports stored in Foreman for Ansible and
  # modifies them to be properly presented in views
  module AnsibleReportsHelper
    def module_name(log)
      JSON.parse(log.source.value)['module_name']
    end

    def module_args(log)
      JSON.parse(log.source.value)['module_args']
    end

    def ansible_module_message(log)
      paragraph_style = 'margin:0px;font-family:Menlo,Monaco,Consolas,monospace'
      JSON.parse(log.message.value).except('invocation').map do |name, value|
        next if value.blank?
        "<p style=#{paragraph_style}>#{name}: #{value}</p>"
      end.join.html_safe
    end

    def ansible_report?(log)
      module_name(log).present?
    rescue # Failures when parsing the log indicates it's not an Ansible report
      false
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
foreman_ansible-1.0 app/helpers/foreman_ansible/ansible_reports_helper.rb
foreman_ansible-0.3 app/helpers/foreman_ansible/ansible_reports_helper.rb