app/views/sabisu_rails/explorer/index.html.erb
<div class="row">
<div class="col-2 nopadding">
<ul class="navigation side">
<li class="header"><%= SabisuRails.app_name %> - <br /> Api Explorer</li>
<% @resources.each do |resource| %>
<li class="<%= active_resource_state(resource) %>"><%= link_to resource.classify, explorer_path(explorer: { resource: resource }) %></li>
<% end %>
</ul>
</div>
<div class="col-10 nopadding">
<div class="main-content">
<div class="row">
<%= simple_form_for :explorer, url: explorer_path, html: {id: 'explorer_form'}, method: :get, remote: true do |f| %>
<%= f.hidden_field :resource, value: @explorer.resource %>
<div class="row">
<div class="col-6">
<div class="input-addon">
<a class="addon"><%= "/#{@explorer.resource}/" %></a>
<%= f.text_field :uri_pattern, value: @explorer.uri_pattern, placeholder: "URI pattern. 1 or bids or orders/1", class: "addon-field" %>
</div>
</div>
<div class="col-2">
<%= f.select :http_method, options_for_select(SabisuRails.http_methods, @explorer.http_method.upcase) %>
</div>
<div class="col-2">
<a href="#" class="button radius block nomargin three-d explorer-fields-link-js" data-target="#url_params_inputs" data-type="url_params"><i class="fa fa-link"></i>Url params</a>
</div>
<div class="col-2">
<a href="#" class="button radius block nomargin three-d explorer-fields-link-js" data-target="#header_inputs" data-type="headers"><i class="fa fa-indent"></i> Headers</a>
</div>
</div>
<br />
<div class="appeareable">
<% @explorer.resource_columns.each do |column| %>
<%= f.input column, input_html: {name: "#{@explorer.resource_name}[#{column}]" }, as: @explorer.column_type(column), required: @explorer.required_attribute?(column) %>
<% end %>
</div>
<div class="row">
<div class="col-5">
<fieldset>
<legend>Url params (<span class="label round" id="url_params_counter_js">0</span>)</legend>
<div class="row" id="url_params_inputs">
</div>
</fieldset>
</div>
<div class="col-1">
</div>
<div class="col-5">
<fieldset>
<legend>Headers (<span class="label round" id="headers_counter_js">0</span>)</legend>
<div class="row" id="header_inputs">
</div>
</fieldset>
</div>
</div>
<%= f.submit "Send", class: 'button radius three-d success', data: { :disable_with => "Processing..." } %>
<% end %>
</div>
<div class="response-wrapper">
<div class="row">
<div class="response-details">
<ul class="navigation inline">
<li><small><strong>STATUS:</strong></small> <span class="label primary radius" id="response_status"><%= @response.code %></span></li>
<li><small><strong>TIME:</strong></small> <span class="label primary radius" id="response_time"><%= @response.headers['x-runtime'] %> ms</span></li>
</ul>
</div>
<ul class="navigation inline" data-tabu>
<li><a href="#result">Body</a></li>
<li><a href="#headers_result">(<span id="headers_count"><%= @response.headers.count %></span>) Headers</a></li>
</ul>
<div class="tabu-content">
<div class="content row" id="result">
</div>
<div class="content row headers" id="headers_result">
<%= prettify_headers @response.headers %>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<%= content_for :javascripts do %>
<script type="text/javascript" charset="utf-8">
$(document).ready(function(){
$.JSONView(<%= @response.body.html_safe %>, $('#result'));
});
</script>
<% end %>