gregschmit/rails-rest-framework

View on GitHub
app/views/rest_framework/_routes_and_forms.html.erb

Summary

Maintainability
Test Coverage
<%
  @is_model_controller = controller.class.included_modules.include?(RESTFramework::ModelControllerMixin)
%>
<div class="row">
  <div>
    <ul class="nav nav-tabs">
      <li class="nav-item">
        <a class="nav-link active" href="#tab-routes" data-bs-toggle="tab" role="tab">
          Routes
        </a>
      </li>
      <% @_rrf_form_routes_raw = @route_groups.values[0].select { |r|
        r[:matches_params] && (
          r[:verb].in?(["POST", "PUT", "PATCH"]) ||
          (r[:verb] == "DELETE" && r[:action] == "destroy_all")
        )
      } %>
      <% @_rrf_form_routes_html = @route_groups.values[0].select { |r|
        r[:matches_params] && r[:verb].in?(["POST", "PUT", "PATCH"])
      } %>
      <% if @_rrf_form_routes_raw.present? %>
        <li class="nav-item">
          <a class="nav-link" href="#tabRawForm" data-bs-toggle="tab" role="tab">
            Raw Form
          </a>
        </li>
      <% end %>
      <% if @_rrf_form_routes_html.present? && @is_model_controller %>
        <li class="nav-item">
          <a class="nav-link" href="#tabHtmlForm" data-bs-toggle="tab" role="tab">
            HTML Form
          </a>
        </li>
      <% end %>
    </ul>
  </div>
  <div class="tab-content">
    <div class="tab-pane fade show active" id="tab-routes" role="tabpanel">
      <%= render partial: "rest_framework/routes_and_forms/routes" %>
    </div>
    <% if @_rrf_form_routes_raw.present? %>
      <div class="tab-pane fade" id="tabRawForm" role="tabpanel">
        <%= render partial: "rest_framework/routes_and_forms/raw_form" %>
      </div>
    <% end %>
    <% if @_rrf_form_routes_html.present? && @is_model_controller %>
      <div class="tab-pane fade" id="tabHtmlForm" role="tabpanel">
        <%= render partial: "rest_framework/routes_and_forms/html_form" %>
      </div>
    <% end %>
  </div>
</div>