metaps/genova

View on GitHub
app/views/workflows/index.html.erb

Summary

Maintainability
Test Coverage
<div class="container">
  <h2 class="title">Workflows</h2>

  <% if Settings.workflows.present? && Settings.workflows.size > 0 %>
    <% Settings.workflows.each_with_index do |workflow, i| %>
      <% if i % 2 == 0 %>
        <div class="columns">
      <% end %>
      <div class="column is-half">
        <h3 class="title is-5"><%= workflow[:name] %></h3>
        <div class="timeline">
          <header class="timeline-header">
            <span class="tag is-medium is-primary">Start</span>
          </header>
          <% workflow[:steps].each_with_index do |step, j| %>
            <div class="timeline-item">
              <div class="timeline-marker is-primary"></div>
              <div class="timeline-content">
                <p class="heading">STEP <%= j + 1 %></p>

                <div class="card">
                  <div class="card-content">
                    <p class="has-text-right"><%= type_tag(step[:type]).html_safe %></p>
                    <div class="media">
                      <div class="media-content">
                        <p class="title is-4"><%= step[:repository] %></p>
                        <p class="subtitle is-6"><%= step[:branch] %></p>
                      </div>
                    </div>
                    <dl class="subtitle">
                      <dt>Cluster</dt>
                      <dd><%= step[:cluster] %></dd>
                      <dt>Resources</dt>
                      <dd>
                        <% step[:resources].each_with_index do |resource, k| %>
                          <%= resource %>
                          <% unless step[:resources].size == k + 1 %>
                          <i class="fa-solid fa-caret-right"></i>
                          <% end %>
                        <% end %>
                      </dd>
                    </dl>
                  </div>
                </div>
              </div>
            </div>
          <% end %>
          <header class="timeline-header">
            <span class="tag is-medium is-primary">End</span>
          </header>
        </div>
      </div>

      <% if i % 2 == 1 %>
        </div>
      <% end %>
    <% end %>
  <% else %>
    <p>No data found.</p>
  <% end %>
</div>