Method: GrafanaReporter::Asciidoctor::PanelImageInlineMacro#process
- Defined in:
- lib/grafana_reporter/asciidoctor/panel_image_inline_macro.rb
#process(parent, target, attrs) ⇒ Object
:nodoc:
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/grafana_reporter/asciidoctor/panel_image_inline_macro.rb', line 37 def process(parent, target, attrs) return if @report.cancel @report.next_step instance = attrs['instance'] || parent.document.attr('grafana_default_instance') || 'default' dashboard = attrs['dashboard'] || parent.document.attr('grafana_default_dashboard') @report.logger.debug("Processing PanelImageInlineMacro (instance: #{instance}, dashboard: #{dashboard},"\ " panel: #{target})") begin # set alt text to a default, because otherwise asciidoctor fails attrs['alt'] = '' unless attrs['alt'] query = PanelImageQuery.new(@report.grafana(instance).dashboard(dashboard).panel(target), variables: build_attribute_hash(parent.document.attributes, attrs)) image = query.execute image_path = @report.save_image_file(image) rescue Grafana::GrafanaError => e @report.logger.error(e.) return create_inline(parent, :quoted, e.) rescue GrafanaReporterError => e @report.logger.error(e.) return create_inline(parent, :quoted, e.) rescue StandardError => e @report.logger.fatal("#{e.}\n#{e.backtrace.join("\n")}") return create_inline(parent, :quoted, "#{e.}\n#{e.backtrace.join("\n")}") end create_inline(parent, :image, nil, { target: image_path, attributes: attrs }) end |