application_helper.rb 977B

123456789101112131415161718192021222324252627282930313233
  1. module ApplicationHelper
  2. def nav_link(name, path, options = {})
  3. (<<-HTML).html_safe
  4. <li class='#{(current_page?(path) ? "active" : "")}'>
  5. #{link_to name, path}
  6. </li>
  7. HTML
  8. end
  9. def working(agent)
  10. if agent.working?
  11. '<span class="label label-success">Yes</span>'.html_safe
  12. else
  13. link_to '<span class="label label-warning">No</span>'.html_safe, agent_path(agent, :tab => (agent.recent_error_logs? ? 'logs' : 'details'))
  14. end
  15. end
  16. def render_dot(dot_format_string)
  17. if (command = ENV['USE_GRAPHVIZ_DOT']) &&
  18. (svg = IO.popen([command, *%w[-Tsvg -q1 -o/dev/stdout /dev/stdin]], 'w+') { |dot|
  19. dot.print dot_format_string
  20. dot.close_write
  21. dot.read
  22. } rescue false)
  23. svg.html_safe
  24. else
  25. tag('img', src: URI('https://chart.googleapis.com/chart').tap { |uri|
  26. uri.query = URI.encode_www_form(cht: 'gv', chl: dot_format_string)
  27. })
  28. end
  29. end
  30. end