Module: AbrtReportsHelper
- Included in:
- AbrtReportsController, Api::V2::AbrtReportsController
- Defined in:
- app/helpers/abrt_reports_helper.rb
Instance Method Summary collapse
- #count_abrt_reports(abrt_reports) ⇒ Object
- #format_reason(reason) ⇒ Object
- #render_abrt_graph(abrt_reports, options = {}) ⇒ Object
- #send_to_abrt_server(abrt_report) ⇒ Object
- #simple_format_if_multiline(str) ⇒ Object
Instance Method Details
#count_abrt_reports(abrt_reports) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'app/helpers/abrt_reports_helper.rb', line 10 def count_abrt_reports abrt_reports range_days = 14 data = [] now = Time.now.utc start = now - range_days.days by_day = abrt_reports.where(:reported_at => start..now). group('DATE(reported_at)'). sum(:count) range_days.downto(1) do |days_back| date = (now - (days_back-1).days).strftime('%Y-%m-%d') crashes = by_day[date] or 0 data << [days_back, crashes] end data end |
#format_reason(reason) ⇒ Object
60 61 62 63 64 65 66 |
# File 'app/helpers/abrt_reports_helper.rb', line 60 def format_reason reason if reason.nil? or reason.empty? _("Unknown") else reason end end |
#render_abrt_graph(abrt_reports, options = {}) ⇒ Object
27 28 29 30 |
# File 'app/helpers/abrt_reports_helper.rb', line 27 def render_abrt_graph abrt_reports, = {} data = count_abrt_reports abrt_reports 'abrt_graph', _('Days Ago'), _('Number of crashes'), data, end |
#send_to_abrt_server(abrt_report) ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'app/helpers/abrt_reports_helper.rb', line 32 def send_to_abrt_server abrt_report request_params = { :timeout => 60, :open_timeout => 10, :verify_ssl => Setting[:abrt_server_verify_ssl] ? OpenSSL::SSL::VERIFY_PEER : OpenSSL::SSL::VERIFY_NONE } if Setting[:abrt_server_ssl_ca_file] && !Setting[:abrt_server_ssl_ca_file].empty? request_params[:ssl_ca_file] = Setting[:abrt_server_ssl_ca_file] end if Setting[:abrt_server_ssl_certificate] && !Setting[:abrt_server_ssl_certificate].empty? \ && Setting[:abrt_server_ssl_priv_key] && !Setting[:abrt_server_ssl_priv_key].empty? request_params[:ssl_client_cert] = OpenSSL::X509::Certificate.new(File.read(Setting[:abrt_server_ssl_certificate])) request_params[:ssl_client_key] = OpenSSL::PKey::RSA.new(File.read(Setting[:abrt_server_ssl_priv_key])) end resource = RestClient::Resource.new(Setting[:abrt_server_url], request_params) response = resource['reports/new/'].post({:file => abrt_report.json, :multipart => true}, :content_type => :json, :accept => :json) if response.code != 202 logger.error "Failed to forward bug report: #{response.code}: #{response.to_str}" raise ::Foreman::Exception.new(N_("Failed to forward bug report: %s: %s", response.code, response.to_str)) end JSON.parse(response.body) end |
#simple_format_if_multiline(str) ⇒ Object
2 3 4 5 6 7 8 |
# File 'app/helpers/abrt_reports_helper.rb', line 2 def simple_format_if_multiline str if str.include? "\n" simple_format str else str end end |