Arie/serveme

View on GitHub
app/views/servers/_admin_server_info.haml

Summary

Maintainability
Test Coverage
%tr
  - server = server.decorate
  - reservation = server.current_reservation
  - statistic = server.recent_server_statistics.last&.decorate
  %td
    = link_to show_server_player_statistic_path(server_id: server.id) do
      - if reservation
        = "#{server.name} (#{reservation.id})".html_safe
        %br
        - user = reservation.user.decorate
        = link_to(user.nickname, user.steam_profile_url, target: "_blank")
      - else
        = server.name.html_safe

  - if statistic
    %td= statistic.map_name
    %td= statistic.number_of_players
    %td= statistic.fps
    %td.actions
      = "#{server.inactive_minutes} minutes"
      %br
      - if reservation
        = render "reservations/actions", reservation: reservation
  - else
    - if reservation
      %td{colspan: 3} N/A
      %td.actions
        - if reservation
          = render "reservations/actions", reservation: reservation
    - else
      %td{colspan: 4} Idle
  %td
    - if server.last_known_version != latest_server_version
      - if server.update_status == 'Updating'
        %i.fa.fa-refresh.fa-spin.text-warning{title: "Update started at #{I18n.l(server.update_started_at, format: :short)}. Server version #{server.last_known_version} was older than #{latest_server_version}"}
      - else
        %i.fa.fa-exclamation-circle.text-danger{title: "Server version #{server.last_known_version} is older than #{latest_server_version}"}

      = server.last_known_version
      = link_to("Update", force_update_server_path(server), class: 'btn btn-sm btn-danger', method: :post, data: { confirm: "This will force a server restart, regardless if there are players on the servers" })
    - else
      %i.fa.fa-check.text-success
      = server.last_known_version
      = link_to("Restart", restart_server_path(server), class: 'btn btn-sm btn-danger', method: :post, data: { confirm: "This will force a server restart, regardless if there are players on the servers" })