jmoses_apipie-rails 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +11 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/APACHE-LICENSE-2.0 +202 -0
- data/CHANGELOG +55 -0
- data/Gemfile +3 -0
- data/MIT-LICENSE +20 -0
- data/NOTICE +4 -0
- data/README.rst +938 -0
- data/Rakefile +13 -0
- data/apipie-rails.gemspec +26 -0
- data/app/controllers/apipie/apipies_controller.rb +105 -0
- data/app/public/apipie/javascripts/apipie.js +6 -0
- data/app/public/apipie/javascripts/bundled/bootstrap-collapse.js +138 -0
- data/app/public/apipie/javascripts/bundled/bootstrap.js +1726 -0
- data/app/public/apipie/javascripts/bundled/jquery-1.7.2.js +9404 -0
- data/app/public/apipie/javascripts/bundled/prettify.js +28 -0
- data/app/public/apipie/stylesheets/application.css +20 -0
- data/app/public/apipie/stylesheets/bundled/bootstrap-responsive.min.css +12 -0
- data/app/public/apipie/stylesheets/bundled/bootstrap.min.css +689 -0
- data/app/public/apipie/stylesheets/bundled/prettify.css +30 -0
- data/app/views/apipie/apipies/_disqus.html.erb +11 -0
- data/app/views/apipie/apipies/_params.html.erb +29 -0
- data/app/views/apipie/apipies/_params_plain.html.erb +16 -0
- data/app/views/apipie/apipies/apipie_404.html.erb +12 -0
- data/app/views/apipie/apipies/getting_started.html.erb +4 -0
- data/app/views/apipie/apipies/index.html.erb +43 -0
- data/app/views/apipie/apipies/method.html.erb +71 -0
- data/app/views/apipie/apipies/plain.html.erb +70 -0
- data/app/views/apipie/apipies/resource.html.erb +98 -0
- data/app/views/apipie/apipies/static.html.erb +101 -0
- data/app/views/layouts/apipie/apipie.html.erb +26 -0
- data/lib/apipie-rails.rb +15 -0
- data/lib/apipie/apipie_module.rb +62 -0
- data/lib/apipie/application.rb +334 -0
- data/lib/apipie/client/generator.rb +135 -0
- data/lib/apipie/configuration.rb +128 -0
- data/lib/apipie/dsl_definition.rb +379 -0
- data/lib/apipie/error_description.rb +25 -0
- data/lib/apipie/errors.rb +38 -0
- data/lib/apipie/extractor.rb +151 -0
- data/lib/apipie/extractor/collector.rb +113 -0
- data/lib/apipie/extractor/recorder.rb +124 -0
- data/lib/apipie/extractor/writer.rb +367 -0
- data/lib/apipie/helpers.rb +52 -0
- data/lib/apipie/markup.rb +48 -0
- data/lib/apipie/method_description.rb +191 -0
- data/lib/apipie/param_description.rb +204 -0
- data/lib/apipie/railtie.rb +9 -0
- data/lib/apipie/resource_description.rb +102 -0
- data/lib/apipie/routing.rb +15 -0
- data/lib/apipie/see_description.rb +39 -0
- data/lib/apipie/static_dispatcher.rb +59 -0
- data/lib/apipie/validator.rb +310 -0
- data/lib/apipie/version.rb +3 -0
- data/lib/generators/apipie/install/README +6 -0
- data/lib/generators/apipie/install/install_generator.rb +25 -0
- data/lib/generators/apipie/install/templates/initializer.rb.erb +7 -0
- data/lib/tasks/apipie.rake +166 -0
- data/rel-eng/packages/.readme +3 -0
- data/rel-eng/packages/rubygem-apipie-rails +1 -0
- data/rel-eng/tito.props +5 -0
- data/spec/controllers/api/v1/architectures_controller_spec.rb +30 -0
- data/spec/controllers/api/v2/architectures_controller_spec.rb +12 -0
- data/spec/controllers/api/v2/nested/resources_controller_spec.rb +11 -0
- data/spec/controllers/apipies_controller_spec.rb +141 -0
- data/spec/controllers/concerns_controller_spec.rb +42 -0
- data/spec/controllers/users_controller_spec.rb +473 -0
- data/spec/dummy/Rakefile +7 -0
- data/spec/dummy/app/controllers/api/base_controller.rb +4 -0
- data/spec/dummy/app/controllers/api/v1/architectures_controller.rb +42 -0
- data/spec/dummy/app/controllers/api/v1/base_controller.rb +11 -0
- data/spec/dummy/app/controllers/api/v2/architectures_controller.rb +30 -0
- data/spec/dummy/app/controllers/api/v2/base_controller.rb +11 -0
- data/spec/dummy/app/controllers/api/v2/nested/architectures_controller.rb +30 -0
- data/spec/dummy/app/controllers/api/v2/nested/resources_controller.rb +33 -0
- data/spec/dummy/app/controllers/application_controller.rb +6 -0
- data/spec/dummy/app/controllers/concerns/sample_controller.rb +39 -0
- data/spec/dummy/app/controllers/concerns_controller.rb +8 -0
- data/spec/dummy/app/controllers/twitter_example_controller.rb +302 -0
- data/spec/dummy/app/controllers/users_controller.rb +251 -0
- data/spec/dummy/app/views/layouts/application.html.erb +21 -0
- data/spec/dummy/config.ru +4 -0
- data/spec/dummy/config/application.rb +45 -0
- data/spec/dummy/config/boot.rb +10 -0
- data/spec/dummy/config/database.yml +21 -0
- data/spec/dummy/config/environment.rb +8 -0
- data/spec/dummy/config/environments/development.rb +25 -0
- data/spec/dummy/config/environments/production.rb +49 -0
- data/spec/dummy/config/environments/test.rb +35 -0
- data/spec/dummy/config/initializers/apipie.rb +102 -0
- data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/spec/dummy/config/initializers/inflections.rb +10 -0
- data/spec/dummy/config/initializers/mime_types.rb +5 -0
- data/spec/dummy/config/initializers/secret_token.rb +7 -0
- data/spec/dummy/config/initializers/session_store.rb +8 -0
- data/spec/dummy/config/locales/en.yml +5 -0
- data/spec/dummy/config/routes.rb +22 -0
- data/spec/dummy/db/.gitkeep +0 -0
- data/spec/dummy/doc/apipie_examples.yml +28 -0
- data/spec/dummy/public/404.html +26 -0
- data/spec/dummy/public/422.html +26 -0
- data/spec/dummy/public/500.html +26 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/javascripts/application.js +2 -0
- data/spec/dummy/public/javascripts/controls.js +965 -0
- data/spec/dummy/public/javascripts/dragdrop.js +974 -0
- data/spec/dummy/public/javascripts/effects.js +1123 -0
- data/spec/dummy/public/javascripts/prototype.js +6001 -0
- data/spec/dummy/public/javascripts/rails.js +202 -0
- data/spec/dummy/public/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/lib/application_spec.rb +38 -0
- data/spec/lib/method_description_spec.rb +30 -0
- data/spec/lib/param_description_spec.rb +174 -0
- data/spec/lib/param_group_spec.rb +45 -0
- data/spec/lib/resource_description_spec.rb +30 -0
- data/spec/lib/validator_spec.rb +46 -0
- data/spec/spec_helper.rb +32 -0
- metadata +337 -0
@@ -0,0 +1,30 @@
|
|
1
|
+
.com { color: #93a1a1; }
|
2
|
+
.lit { color: #195f91; }
|
3
|
+
.pun, .opn, .clo { color: #93a1a1; }
|
4
|
+
.fun { color: #dc322f; }
|
5
|
+
.str, .atv { color: #D14; }
|
6
|
+
.kwd, .linenums .tag { color: #1e347b; }
|
7
|
+
.typ, .atn, .dec, .var { color: teal; }
|
8
|
+
.pln { color: #48484c; }
|
9
|
+
|
10
|
+
.prettyprint {
|
11
|
+
padding: 8px;
|
12
|
+
background-color: #f7f7f9;
|
13
|
+
border: 1px solid #e1e1e8;
|
14
|
+
}
|
15
|
+
.prettyprint.linenums {
|
16
|
+
-webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
17
|
+
-moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
18
|
+
box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
|
19
|
+
}
|
20
|
+
|
21
|
+
/* Specify class=linenums on a pre to get line numbering */
|
22
|
+
ol.linenums {
|
23
|
+
margin: 0 0 0 33px; /* IE indents via margin-left */
|
24
|
+
}
|
25
|
+
ol.linenums li {
|
26
|
+
padding-left: 12px;
|
27
|
+
color: #bebec5;
|
28
|
+
line-height: 18px;
|
29
|
+
text-shadow: 0 1px 0 #fff;
|
30
|
+
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div id="disqus_thread"></div>
|
2
|
+
<script type="text/javascript">
|
3
|
+
var disqus_shortname = "<%= Apipie.configuration.disqus_shortname %>";
|
4
|
+
(function() {
|
5
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
6
|
+
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
7
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
8
|
+
})();
|
9
|
+
</script>
|
10
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
11
|
+
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
<% level ||= 0 %>
|
2
|
+
<% col = 255 - level * 5 %>
|
3
|
+
<% params.each do |param| %>
|
4
|
+
<tr style='background-color:rgb(<%= "#{col},#{col},#{col}" %>);'>
|
5
|
+
<td>
|
6
|
+
<strong><%= link_to param[:full_name], "##{param[:anchor]}", name: param[:anchor], class: 'anchor' %></strong><br/>
|
7
|
+
<small>
|
8
|
+
<%= param[:required] ? 'required' : 'optional' %>
|
9
|
+
<%= param[:allow_nil] ? ', nil allowed' : '' %>
|
10
|
+
</small>
|
11
|
+
</td>
|
12
|
+
<td>
|
13
|
+
<%= param[:description].html_safe %>
|
14
|
+
<%- if param[:validations].present? || param[:validator].present? %>
|
15
|
+
<p><strong>Validations:</strong></p>
|
16
|
+
<ul>
|
17
|
+
<%- if param[:validator].present? %>
|
18
|
+
<li><%= param[:validator] %></li>
|
19
|
+
<%- end %>
|
20
|
+
<%- param[:validations].each do |item| %>
|
21
|
+
<li><%= item.html_safe %></li>
|
22
|
+
<%- end %>
|
23
|
+
</ul>
|
24
|
+
<%- end %>
|
25
|
+
</td>
|
26
|
+
</tr>
|
27
|
+
|
28
|
+
<%= render(:partial => "params", :locals => {:level => level + 1, :params => param[:params]}) unless param[:params].blank? %>
|
29
|
+
<% end %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<ul>
|
2
|
+
<% params.each do |param| %>
|
3
|
+
<li>
|
4
|
+
<strong><%= param[:name] %> </strong>:
|
5
|
+
<small>
|
6
|
+
<%= param[:required] ? 'required' : 'optional' %>
|
7
|
+
<%= param[:allow_nil] ? ', nil allowed' : '' %>
|
8
|
+
<% if param[:validator] %>
|
9
|
+
[ <%= param[:validator] %> ]
|
10
|
+
<% end %>
|
11
|
+
</small>
|
12
|
+
<%= param[:description].html_safe %>
|
13
|
+
</li>
|
14
|
+
<%= render(:partial => "params_plain", :locals => {:params => param[:params]}) unless param[:params].blank? %>
|
15
|
+
<% end %>
|
16
|
+
</ul>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h1 class='page-header'>
|
2
|
+
Oops!
|
3
|
+
<small>
|
4
|
+
<% if @resource == 'null' %>
|
5
|
+
Resource <code><%= params[:resource] %></code> not found.
|
6
|
+
<% else %>
|
7
|
+
Method <code><%= params[:method] %></code> not found for resource <code><%= params[:resource] %></code>.
|
8
|
+
<% end %>
|
9
|
+
</small>
|
10
|
+
</h1>
|
11
|
+
|
12
|
+
Try going to <a href='<%= @doc[:doc_url] %>.html'><%= @doc[:name] %> API documentation homepage</a>
|
@@ -0,0 +1,43 @@
|
|
1
|
+
<ul class='breadcrumb'>
|
2
|
+
<li class='active'><a href='<%= @doc[:doc_url] %>.html'><%= @doc[:name] %> <%= @doc[:resources].values.first[:version] %></a></li>
|
3
|
+
<% if @versions && @versions.size > 1 %>
|
4
|
+
<li class='pull-right'>
|
5
|
+
<%= @versions.collect { |v| link_to v, Apipie.full_url(v) }.join(' / ').html_safe %>
|
6
|
+
</li>
|
7
|
+
<% end %>
|
8
|
+
</ul>
|
9
|
+
|
10
|
+
<div><%= raw @doc[:info] %></div>
|
11
|
+
|
12
|
+
<h1 class='page-header'>Resources</h1>
|
13
|
+
|
14
|
+
<% @doc[:resources].sort_by(&:first).each do |key, api| %>
|
15
|
+
<h2>
|
16
|
+
<a href='<%= api[:doc_url] %>.html'>
|
17
|
+
<%= api[:name] %>
|
18
|
+
</a><br>
|
19
|
+
<small><%= api[:short_description] %></small>
|
20
|
+
</h2>
|
21
|
+
<table class='table'>
|
22
|
+
<thead>
|
23
|
+
<tr>
|
24
|
+
<th>Resource</th>
|
25
|
+
<th>Description</th>
|
26
|
+
</tr>
|
27
|
+
</thead>
|
28
|
+
<tbody>
|
29
|
+
<% api[:methods].each do |m| %>
|
30
|
+
<% m[:apis].each do |a| %>
|
31
|
+
<tr>
|
32
|
+
<td><a href='<%= m[:doc_url] %>.html'><%= a[:http_method] %> <%= a[:api_url] %></a></td>
|
33
|
+
<td width='60%'><%= a[:short_description] %></td>
|
34
|
+
</tr>
|
35
|
+
<% end %>
|
36
|
+
<% end %>
|
37
|
+
</tbody>
|
38
|
+
</table>
|
39
|
+
<% end %>
|
40
|
+
|
41
|
+
<% content_for :apipie_footer do %>
|
42
|
+
<%= raw @doc[:copyright] %>
|
43
|
+
<% end %>
|
@@ -0,0 +1,71 @@
|
|
1
|
+
<ul class='breadcrumb'>
|
2
|
+
<li>
|
3
|
+
<a href='<%= @doc[:doc_url] %>.html'><%= @doc[:name] %> <%= @resource[:version] %></a>
|
4
|
+
<span class='divider'>/</span>
|
5
|
+
</li>
|
6
|
+
<li>
|
7
|
+
<a href='<%= @resource[:doc_url] %>.html'>
|
8
|
+
<%= @resource[:name] %>
|
9
|
+
<% if @resource[:version] %><% end %>
|
10
|
+
</a>
|
11
|
+
<span class='divider'>/</span>
|
12
|
+
</li>
|
13
|
+
<li class='active'><%= @method[:name] %></li>
|
14
|
+
</ul>
|
15
|
+
|
16
|
+
<% @method[:apis].each do |api| %>
|
17
|
+
<div class='page-header'>
|
18
|
+
<h1>
|
19
|
+
<%= api[:http_method] %> <%= api[:api_url] %><br>
|
20
|
+
<small><%= raw api[:short_description] %></small>
|
21
|
+
</h1>
|
22
|
+
</div>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<div>
|
26
|
+
<% unless @method[:see].empty? %>
|
27
|
+
Also see <%= @method[:see].map { |s| link_to(s[:description], "#{s[:link]}.html") }.to_sentence.html_safe %>.
|
28
|
+
<% end %>
|
29
|
+
|
30
|
+
<%= raw @method[:full_description] %>
|
31
|
+
|
32
|
+
<% unless @method[:examples].blank? %>
|
33
|
+
<h2>Examples</h2>
|
34
|
+
<% @method[:examples].each do |example| %>
|
35
|
+
<pre class="prettyprint"><%= example %></pre>
|
36
|
+
<% end %>
|
37
|
+
<% end %>
|
38
|
+
|
39
|
+
<% unless @method[:formats].blank? %>
|
40
|
+
<h2>Supported Formats</h2>
|
41
|
+
<%= @method[:formats].join(', ') %>
|
42
|
+
<% end %>
|
43
|
+
|
44
|
+
<% unless @method[:errors].blank? %>
|
45
|
+
<h2>Errors</h2>
|
46
|
+
<% @method[:errors].each do |err| %>
|
47
|
+
<%= err[:code] %>
|
48
|
+
<%= err[:description] %>
|
49
|
+
<br>
|
50
|
+
<% end %>
|
51
|
+
<% end %>
|
52
|
+
|
53
|
+
<% unless @method[:params].blank? %>
|
54
|
+
<h2>Params</h2>
|
55
|
+
<table class='table'>
|
56
|
+
<thead>
|
57
|
+
<tr>
|
58
|
+
<th>Param name</th>
|
59
|
+
<th>Description</th>
|
60
|
+
</tr>
|
61
|
+
</thead>
|
62
|
+
<tbody>
|
63
|
+
<%= render(:partial => "params", :locals => {:params => @method[:params]}) %>
|
64
|
+
</tbody>
|
65
|
+
</table>
|
66
|
+
<% end %>
|
67
|
+
</div>
|
68
|
+
|
69
|
+
<% content_for :apipie_footer do %>
|
70
|
+
<%= raw @doc[:copyright] %>
|
71
|
+
<% end %>
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<% @doc[:resources].sort_by(&:first).each do |key, resource| %>
|
2
|
+
<h4><a href='#<%= key %>'><%= resource[:name] %></a></h4>
|
3
|
+
<ul>
|
4
|
+
<% resource[:methods].each do |method| %>
|
5
|
+
<li><a href='#<%= key %>-<%= method[:name] %>'><%= method[:name] %></a></li>
|
6
|
+
<% end %>
|
7
|
+
</ul>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
|
11
|
+
<% @doc[:resources].sort_by(&:first).each do |key, resource| %>
|
12
|
+
|
13
|
+
<hr/>
|
14
|
+
|
15
|
+
<div>
|
16
|
+
<h2 id="<%= key %>">
|
17
|
+
<a href='#<%= key %>'><%= resource[:name] %></a><br>
|
18
|
+
<small><%= raw resource[:short_description] %></small>
|
19
|
+
</h2>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<% unless resource[:full_description].blank? %>
|
23
|
+
<div><%= raw resource[:full_description] %></div>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
<div>
|
27
|
+
|
28
|
+
<% resource[:methods].each do |method| %>
|
29
|
+
<hr/>
|
30
|
+
|
31
|
+
<h3 id="<%= "#{key}-#{method[:name]}" %>">
|
32
|
+
<a href='#<%= key %>'><%= resource[:name] %></a> / <a href='#<%= "#{key}-#{method[:name]}" %>'><%= method[:name] %></a>
|
33
|
+
</h3>
|
34
|
+
|
35
|
+
<div>
|
36
|
+
<% method[:apis].each do |api| %>
|
37
|
+
<h4>
|
38
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
39
|
+
<br>
|
40
|
+
<small><%= raw api[:short_description] %></small>
|
41
|
+
</h4>
|
42
|
+
<% end %>
|
43
|
+
</div>
|
44
|
+
|
45
|
+
<div>
|
46
|
+
<%= raw method[:full_description] %>
|
47
|
+
<% unless method[:examples].blank? %>
|
48
|
+
<h4>Examples</h4>
|
49
|
+
<% method[:examples].each do |example| %>
|
50
|
+
<pre class="wiki"><%= example %></pre>
|
51
|
+
<% end %>
|
52
|
+
<% end %>
|
53
|
+
|
54
|
+
<% unless method[:errors].blank? %>
|
55
|
+
<h4>Errors</h4>
|
56
|
+
<% method[:errors].each do |err| %>
|
57
|
+
<%= err[:code] %>
|
58
|
+
<%= err[:description] %>
|
59
|
+
<br>
|
60
|
+
<% end %>
|
61
|
+
<% end %>
|
62
|
+
|
63
|
+
<% unless method[:params].blank? %>
|
64
|
+
<h4>Params</h4>
|
65
|
+
<%= render(:partial => "params_plain", :locals => {:params => method[:params]}) %>
|
66
|
+
<% end %>
|
67
|
+
</div>
|
68
|
+
<% end %>
|
69
|
+
</div>
|
70
|
+
<% end %>
|
@@ -0,0 +1,98 @@
|
|
1
|
+
<ul class='breadcrumb'>
|
2
|
+
<li>
|
3
|
+
<a href='<%= @doc[:doc_url] %>.html'><%= @doc[:name] %> <%= @resource[:version] %></a>
|
4
|
+
<span class='divider'>/</span>
|
5
|
+
</li>
|
6
|
+
<li class='active'>
|
7
|
+
<%= @resource[:name] %>
|
8
|
+
<% if @resource[:version] %><% end %>
|
9
|
+
</li>
|
10
|
+
</ul>
|
11
|
+
|
12
|
+
<div class='page-header'>
|
13
|
+
<h1>
|
14
|
+
<%= @resource[:name] %>
|
15
|
+
<br>
|
16
|
+
<small><%= raw @resource[:short_description] %></small>
|
17
|
+
</h1>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<% unless @resource[:full_description].blank? %>
|
21
|
+
<div><%= raw @resource[:full_description] %></div>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<% unless @resource[:formats].blank? %>
|
25
|
+
<h2>Supported Formats</h2>
|
26
|
+
<%= @resource[:formats].join(', ') %>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<div class='accordion' id='accordion'>
|
30
|
+
|
31
|
+
<% @resource[:methods].each do |m| %>
|
32
|
+
<hr>
|
33
|
+
<div class='pull-right small'>
|
34
|
+
<a href='<%= m[:doc_url] %>.html'> >>> </a>
|
35
|
+
</div>
|
36
|
+
<div>
|
37
|
+
<% m[:apis].each do |api| %>
|
38
|
+
<h2>
|
39
|
+
<a href='#description-<%= m[:name] %>'
|
40
|
+
class='accordion-toggle'
|
41
|
+
data-toggle='collapse'
|
42
|
+
data-parent='#accordion'>
|
43
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
44
|
+
</a><br>
|
45
|
+
<small><%= raw api[:short_description] %></small>
|
46
|
+
</h2>
|
47
|
+
<% end %>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<% unless m[:see].empty? %>
|
51
|
+
Also see <%= m[:see].map { |s| link_to(s[:description], "#{s[:link]}.html") }.to_sentence.html_safe %>.
|
52
|
+
<% end %>
|
53
|
+
|
54
|
+
<div id='description-<%= m[:name] %>' class='collapse accordion-body'>
|
55
|
+
<%= raw m[:full_description] %>
|
56
|
+
|
57
|
+
<% unless m[:formats].blank? %>
|
58
|
+
<h3>Supported Formats</h3>
|
59
|
+
<%= m[:formats].join(', ') %>
|
60
|
+
<% end %>
|
61
|
+
|
62
|
+
<% unless m[:errors].blank? %>
|
63
|
+
<h3>Errors</h3>
|
64
|
+
<% m[:errors].each do |err| %>
|
65
|
+
<%= err[:code] %>
|
66
|
+
<%= err[:description] %>
|
67
|
+
<br>
|
68
|
+
<% end %>
|
69
|
+
<% end %>
|
70
|
+
|
71
|
+
<% unless m[:examples].blank? %>
|
72
|
+
<h3>Examples</h3>
|
73
|
+
<% m[:examples].each do |example| %>
|
74
|
+
<pre class="prettyprint"><%= example %></pre>
|
75
|
+
<% end %>
|
76
|
+
<% end %>
|
77
|
+
|
78
|
+
<% unless m[:params].blank? %>
|
79
|
+
<h3>Params</h3>
|
80
|
+
<table class='table'>
|
81
|
+
<thead>
|
82
|
+
<tr>
|
83
|
+
<th>Param name</th>
|
84
|
+
<th>Description</th>
|
85
|
+
</tr>
|
86
|
+
</thead>
|
87
|
+
<tbody>
|
88
|
+
<%= render(:partial => "params", :locals => {:params => m[:params]}) %>
|
89
|
+
</tbody>
|
90
|
+
</table>
|
91
|
+
<% end %>
|
92
|
+
</div>
|
93
|
+
<% end %>
|
94
|
+
</div>
|
95
|
+
|
96
|
+
<% content_for :apipie_footer do %>
|
97
|
+
<%= raw @doc[:copyright] %>
|
98
|
+
<% end %>
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<% @doc[:resources].sort_by(&:first).each do |key, resource| %>
|
2
|
+
<h4><a href='#<%= key %>'><%= resource[:name] %></a></h4>
|
3
|
+
<ul>
|
4
|
+
<% resource[:methods].each do |method| %>
|
5
|
+
<li><a href='#<%= key %>-<%= method[:name] %>'><%= method[:name] %></a></li>
|
6
|
+
<% end %>
|
7
|
+
</ul>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
<div><%= @doc[:info].html_safe %></div>
|
13
|
+
|
14
|
+
<hr>
|
15
|
+
|
16
|
+
<% @doc[:resources].sort_by(&:first).each do |key, resource| %>
|
17
|
+
|
18
|
+
<ul class='breadcrumb' id='<%= key %>'>
|
19
|
+
<li><a href='#'><%= @doc[:name] %></a><span class='divider'>/</span></li>
|
20
|
+
<li class='active'><%= resource[:name] %></li>
|
21
|
+
</ul>
|
22
|
+
|
23
|
+
<div class='page-header'>
|
24
|
+
<h1>
|
25
|
+
<a href='#<%= key %>'><%= resource[:name] %></a><br>
|
26
|
+
<small><%= raw resource[:short_description] %></small>
|
27
|
+
</h1>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
<% unless resource[:full_description].blank? %>
|
31
|
+
<div><%= raw resource[:full_description] %></div>
|
32
|
+
<% end %>
|
33
|
+
|
34
|
+
<div class='accordion' id='accordion'>
|
35
|
+
|
36
|
+
<% resource[:methods].each do |method| %>
|
37
|
+
<hr>
|
38
|
+
|
39
|
+
<ul class='breadcrumb' id='<%= key %>-<%= method[:name] %>'>
|
40
|
+
<li>
|
41
|
+
<a href='#'><%= @doc[:name] %></a>
|
42
|
+
<span class='divider'>/</span>
|
43
|
+
</li>
|
44
|
+
<li>
|
45
|
+
<a href='#<%= key %>'><%= resource[:name] %></a>
|
46
|
+
<span class='divider'>/</span>
|
47
|
+
</li>
|
48
|
+
<li class='active'><%= method[:name] %></li>
|
49
|
+
</ul>
|
50
|
+
|
51
|
+
<div>
|
52
|
+
<% method[:apis].each do |api| %>
|
53
|
+
<h3>
|
54
|
+
<a href='#<%= key %>-<%= method[:name] %>'>
|
55
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
56
|
+
</a><br>
|
57
|
+
<small><%= raw api[:short_description] %></small>
|
58
|
+
</h3>
|
59
|
+
<% end %>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div>
|
63
|
+
<%= raw method[:full_description] %>
|
64
|
+
<% unless method[:examples].blank? %>
|
65
|
+
<h2>Examples</h2>
|
66
|
+
<% method[:examples].each do |example| %>
|
67
|
+
<pre><%= example %></pre>
|
68
|
+
<% end %>
|
69
|
+
<% end %>
|
70
|
+
|
71
|
+
<% unless method[:errors].blank? %>
|
72
|
+
<h2>Errors</h2>
|
73
|
+
<% method[:errors].each do |err| %>
|
74
|
+
<%= err[:code] %>
|
75
|
+
<%= err[:description] %>
|
76
|
+
<br>
|
77
|
+
<% end %>
|
78
|
+
<% end %>
|
79
|
+
|
80
|
+
<% unless method[:params].blank? %>
|
81
|
+
<h2>Params</h2>
|
82
|
+
<table class='table'>
|
83
|
+
<thead>
|
84
|
+
<tr>
|
85
|
+
<th>Param name</th>
|
86
|
+
<th>Description</th>
|
87
|
+
</tr>
|
88
|
+
</thead>
|
89
|
+
<tbody>
|
90
|
+
<%= render(:partial => "params", :locals => {:params => method[:params]}) %>
|
91
|
+
</tbody>
|
92
|
+
</table>
|
93
|
+
<% end %>
|
94
|
+
</div>
|
95
|
+
<% end %>
|
96
|
+
</div>
|
97
|
+
<% end %>
|
98
|
+
|
99
|
+
<% content_for :apipie_footer do %>
|
100
|
+
<%= raw @doc[:copyright] %>
|
101
|
+
<% end %>
|