apipierails3 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +17 -0
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +27 -0
- data/APACHE-LICENSE-2.0 +202 -0
- data/CHANGELOG.md +469 -0
- data/Gemfile +1 -0
- data/Gemfile.rails32 +6 -0
- data/Gemfile.rails41 +6 -0
- data/Gemfile.rails42 +11 -0
- data/Gemfile.rails50 +6 -0
- data/Gemfile.rails51 +7 -0
- data/MIT-LICENSE +20 -0
- data/NOTICE +4 -0
- data/PROPOSAL_FOR_RESPONSE_DESCRIPTIONS.md +244 -0
- data/README.rst +1874 -0
- data/Rakefile +13 -0
- data/apipierails3.gemspec +27 -0
- data/app/controllers/apipie/apipies_controller.rb +199 -0
- data/app/helpers/apipie_helper.rb +10 -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.js +5 -0
- data/app/public/apipie/javascripts/bundled/prettify.js +28 -0
- data/app/public/apipie/stylesheets/application.css +7 -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 +13 -0
- data/app/views/apipie/apipies/_errors.html.erb +23 -0
- data/app/views/apipie/apipies/_headers.html.erb +26 -0
- data/app/views/apipie/apipies/_languages.erb +6 -0
- data/app/views/apipie/apipies/_metadata.erb +1 -0
- data/app/views/apipie/apipies/_method_detail.erb +61 -0
- data/app/views/apipie/apipies/_params.html.erb +42 -0
- data/app/views/apipie/apipies/_params_plain.html.erb +20 -0
- data/app/views/apipie/apipies/apipie_404.html.erb +17 -0
- data/app/views/apipie/apipies/apipie_checksum.json.erb +1 -0
- data/app/views/apipie/apipies/getting_started.html.erb +6 -0
- data/app/views/apipie/apipies/index.html.erb +56 -0
- data/app/views/apipie/apipies/method.html.erb +41 -0
- data/app/views/apipie/apipies/plain.html.erb +77 -0
- data/app/views/apipie/apipies/resource.html.erb +80 -0
- data/app/views/apipie/apipies/static.html.erb +103 -0
- data/app/views/layouts/apipie/apipie.html.erb +27 -0
- data/config/locales/de.yml +28 -0
- data/config/locales/en.yml +32 -0
- data/config/locales/es.yml +28 -0
- data/config/locales/fr.yml +31 -0
- data/config/locales/it.yml +31 -0
- data/config/locales/ja.yml +31 -0
- data/config/locales/pl.yml +28 -0
- data/config/locales/pt-BR.yml +28 -0
- data/config/locales/ru.yml +28 -0
- data/config/locales/tr.yml +28 -0
- data/config/locales/zh-CN.yml +28 -0
- data/config/locales/zh-TW.yml +28 -0
- data/images/screenshot-1.png +0 -0
- data/images/screenshot-2.png +0 -0
- data/lib/apipie/apipie_module.rb +83 -0
- data/lib/apipie/application.rb +462 -0
- data/lib/apipie/configuration.rb +186 -0
- data/lib/apipie/dsl_definition.rb +607 -0
- data/lib/apipie/error_description.rb +44 -0
- data/lib/apipie/errors.rb +86 -0
- data/lib/apipie/extractor.rb +177 -0
- data/lib/apipie/extractor/collector.rb +117 -0
- data/lib/apipie/extractor/recorder.rb +166 -0
- data/lib/apipie/extractor/writer.rb +454 -0
- data/lib/apipie/helpers.rb +73 -0
- data/lib/apipie/markup.rb +48 -0
- data/lib/apipie/method_description.rb +273 -0
- data/lib/apipie/middleware/checksum_in_headers.rb +35 -0
- data/lib/apipie/param_description.rb +280 -0
- data/lib/apipie/railtie.rb +9 -0
- data/lib/apipie/resource_description.rb +124 -0
- data/lib/apipie/response_description.rb +131 -0
- data/lib/apipie/response_description_adapter.rb +200 -0
- data/lib/apipie/routes_formatter.rb +33 -0
- data/lib/apipie/routing.rb +16 -0
- data/lib/apipie/rspec/response_validation_helper.rb +192 -0
- data/lib/apipie/see_description.rb +39 -0
- data/lib/apipie/static_dispatcher.rb +69 -0
- data/lib/apipie/swagger_generator.rb +707 -0
- data/lib/apipie/tag_list_description.rb +11 -0
- data/lib/apipie/validator.rb +526 -0
- data/lib/apipie/version.rb +3 -0
- data/lib/apipierails3.rb +25 -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/generators/apipie/views_generator.rb +11 -0
- data/lib/tasks/apipie.rake +345 -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 +29 -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 +273 -0
- data/spec/controllers/concerns_controller_spec.rb +42 -0
- data/spec/controllers/extended_controller_spec.rb +11 -0
- data/spec/controllers/users_controller_spec.rb +740 -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 +43 -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 +32 -0
- data/spec/dummy/app/controllers/api/v2/nested/resources_controller.rb +33 -0
- data/spec/dummy/app/controllers/application_controller.rb +18 -0
- data/spec/dummy/app/controllers/concerns/extending_concern.rb +11 -0
- data/spec/dummy/app/controllers/concerns/sample_controller.rb +41 -0
- data/spec/dummy/app/controllers/concerns_controller.rb +8 -0
- data/spec/dummy/app/controllers/extended_controller.rb +14 -0
- data/spec/dummy/app/controllers/files_controller.rb +5 -0
- data/spec/dummy/app/controllers/overridden_concerns_controller.rb +31 -0
- data/spec/dummy/app/controllers/pets_controller.rb +408 -0
- data/spec/dummy/app/controllers/pets_using_auto_views_controller.rb +73 -0
- data/spec/dummy/app/controllers/pets_using_self_describing_classes_controller.rb +95 -0
- data/spec/dummy/app/controllers/tagged_cats_controller.rb +32 -0
- data/spec/dummy/app/controllers/tagged_dogs_controller.rb +15 -0
- data/spec/dummy/app/controllers/twitter_example_controller.rb +307 -0
- data/spec/dummy/app/controllers/users_controller.rb +297 -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 +49 -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 +28 -0
- data/spec/dummy/config/environments/production.rb +52 -0
- data/spec/dummy/config/environments/test.rb +38 -0
- data/spec/dummy/config/initializers/apipie.rb +110 -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 +8 -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 +51 -0
- data/spec/dummy/db/.gitkeep +0 -0
- data/spec/dummy/doc/apipie_examples.json +1 -0
- data/spec/dummy/doc/users/desc_from_file.md +1 -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/stylesheets/.gitkeep +0 -0
- data/spec/dummy/script/rails +6 -0
- data/spec/lib/application_spec.rb +49 -0
- data/spec/lib/extractor/extractor_spec.rb +9 -0
- data/spec/lib/extractor/middleware_spec.rb +44 -0
- data/spec/lib/extractor/writer_spec.rb +110 -0
- data/spec/lib/file_handler_spec.rb +18 -0
- data/spec/lib/method_description_spec.rb +98 -0
- data/spec/lib/param_description_spec.rb +345 -0
- data/spec/lib/param_group_spec.rb +60 -0
- data/spec/lib/rake_spec.rb +71 -0
- data/spec/lib/resource_description_spec.rb +48 -0
- data/spec/lib/swagger/openapi_2_0_schema.json +1607 -0
- data/spec/lib/swagger/rake_swagger_spec.rb +139 -0
- data/spec/lib/swagger/response_validation_spec.rb +104 -0
- data/spec/lib/swagger/swagger_dsl_spec.rb +658 -0
- data/spec/lib/validator_spec.rb +113 -0
- data/spec/lib/validators/array_validator_spec.rb +85 -0
- data/spec/spec_helper.rb +109 -0
- data/spec/support/rake.rb +21 -0
- metadata +415 -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,13 @@
|
|
|
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 = '//' + disqus_shortname + '.disqus.com/embed.js?https';
|
|
7
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
8
|
+
})();
|
|
9
|
+
</script>
|
|
10
|
+
<noscript><%= t('apipie.enable_javascript_html', :comments_href => link_to(
|
|
11
|
+
t('apipie.comments_powered_by_disqus', :disqus => 'Disqus'),
|
|
12
|
+
"https://disqus.com/?ref_noscript")) %></noscript>
|
|
13
|
+
<a href="https://disqus.com" class="dsq-brlink"><%= t('apipie.comments_powered_by_disqus', :disqus => "<span class='logo-disqus'>Disqus</span>") %></a>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
<% show_metadata = errors.reject { |err| err[:metadata].blank? }.size > 0 %>
|
|
2
|
+
|
|
3
|
+
<table class="table table-bordered">
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th><%= t('apipie.error_code', default: 'Code') %></th>
|
|
7
|
+
<th><%= t('apipie.error_description', default: [:description, 'Description']) %></th>
|
|
8
|
+
<% if show_metadata %><th><%= t('apipie.error_metadata', default: [:metadata, 'Metadata']) %></th><% end %>
|
|
9
|
+
</tr>
|
|
10
|
+
</thead>
|
|
11
|
+
|
|
12
|
+
<tbody>
|
|
13
|
+
<% errors.each do |err| %>
|
|
14
|
+
<tr>
|
|
15
|
+
<td><span class="<%= Apipie.label_class_for_error(err) %>"> <%= err[:code] %> </span></td>
|
|
16
|
+
<td><%= err[:description] %></td>
|
|
17
|
+
<% if show_metadata %>
|
|
18
|
+
<td><%= render(:partial => "metadata", :locals => {:meta => err[:metadata]}) unless err[:metadata].blank? %></td>
|
|
19
|
+
<% end %>
|
|
20
|
+
</tr>
|
|
21
|
+
<% end %>
|
|
22
|
+
</tbody>
|
|
23
|
+
</table>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<% unless headers.blank? %>
|
|
2
|
+
<%= heading(t('apipie.headers'), h_level) %>
|
|
3
|
+
<table class='table'>
|
|
4
|
+
<thead>
|
|
5
|
+
<tr>
|
|
6
|
+
<th><%= t('apipie.header_name') %></th>
|
|
7
|
+
<th><%= t('apipie.description') %></th>
|
|
8
|
+
</tr>
|
|
9
|
+
</thead>
|
|
10
|
+
<tbody>
|
|
11
|
+
<% headers.each do |header| %>
|
|
12
|
+
<tr>
|
|
13
|
+
<td>
|
|
14
|
+
<strong><%= header[:name] %> </strong><br>
|
|
15
|
+
<small>
|
|
16
|
+
<%= header[:options][:required] ? t('apipie.required') : t('apipie.optional') %>
|
|
17
|
+
</small>
|
|
18
|
+
</td>
|
|
19
|
+
<td>
|
|
20
|
+
<%= header[:description].html_safe %>
|
|
21
|
+
</td>
|
|
22
|
+
</tr>
|
|
23
|
+
<% end %>
|
|
24
|
+
</tbody>
|
|
25
|
+
</table>
|
|
26
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<pre class="prettyprint lang-yaml"><%= meta.to_yaml.gsub(/---\n/, "") %></pre>
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<%= raw method[:full_description] %>
|
|
2
|
+
|
|
3
|
+
<% unless method[:formats].blank? %>
|
|
4
|
+
<%= heading(t('apipie.supported_formats'), h_level) %>
|
|
5
|
+
<%= method[:formats].join(', ') %>
|
|
6
|
+
<% end %>
|
|
7
|
+
|
|
8
|
+
<% unless method[:errors].blank? %>
|
|
9
|
+
<%= heading(t('apipie.errors'), h_level) %>
|
|
10
|
+
<%= render(:partial => "errors", :locals => {:errors => method[:errors]}) %>
|
|
11
|
+
<% end %>
|
|
12
|
+
|
|
13
|
+
<% unless method[:metadata].blank? %>
|
|
14
|
+
<%= heading(t('apipie.metadata'), h_level) %>
|
|
15
|
+
<%= render(:partial => "metadata", :locals => {:meta => method[:metadata]}) %>
|
|
16
|
+
<% end %>
|
|
17
|
+
|
|
18
|
+
<% unless method[:examples].blank? %>
|
|
19
|
+
<%= heading(t('apipie.examples'), h_level) %>
|
|
20
|
+
<% method[:examples].each do |example| %>
|
|
21
|
+
<pre class="prettyprint"><%= example %></pre>
|
|
22
|
+
<% end %>
|
|
23
|
+
<% end %>
|
|
24
|
+
|
|
25
|
+
<% unless method[:params].blank? %>
|
|
26
|
+
<%= heading(t('apipie.params'), h_level) %>
|
|
27
|
+
<table class='table'>
|
|
28
|
+
<thead>
|
|
29
|
+
<tr>
|
|
30
|
+
<th><%= t('apipie.param_name') %></th>
|
|
31
|
+
<th><%= t('apipie.description') %></th>
|
|
32
|
+
</tr>
|
|
33
|
+
</thead>
|
|
34
|
+
<tbody>
|
|
35
|
+
<%= render(:partial => "params", :locals => {:params => method[:params]}) %>
|
|
36
|
+
</tbody>
|
|
37
|
+
</table>
|
|
38
|
+
<% end %>
|
|
39
|
+
<% unless method[:returns].blank? %>
|
|
40
|
+
<%= heading(t('apipie.returns'), h_level) %>
|
|
41
|
+
<% method[:returns].each do |item| %>
|
|
42
|
+
<%= heading("#{t('apipie.code')}: #{item[:code]}", h_level + 1) %>
|
|
43
|
+
<% if item[:description] %>
|
|
44
|
+
<%= heading("#{t('apipie.description')}:", h_level + 2) %>
|
|
45
|
+
<p><%= item[:description] %></p>
|
|
46
|
+
<% end %>
|
|
47
|
+
<table class='table'>
|
|
48
|
+
<thead>
|
|
49
|
+
<tr>
|
|
50
|
+
<th><%= t('apipie.param_name') %></th>
|
|
51
|
+
<th><%= t('apipie.description') %></th>
|
|
52
|
+
</tr>
|
|
53
|
+
</thead>
|
|
54
|
+
<tbody>
|
|
55
|
+
<%= render(:partial => "params", :locals => {:params => item[:returns_object]}) %>
|
|
56
|
+
</tbody>
|
|
57
|
+
</table>
|
|
58
|
+
<% end %>
|
|
59
|
+
<% end %>
|
|
60
|
+
|
|
61
|
+
<%= render(:partial => "headers", :locals => {:headers => method[:headers], :h_level => h_level }) %>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<% level ||= 0 %>
|
|
2
|
+
<% col = 255 - level * 5 %>
|
|
3
|
+
<% params.each do |param| %>
|
|
4
|
+
<% if !param[:show] %>
|
|
5
|
+
<%= render(:partial => "params", :locals => {:level => level, :params => param[:params]}) unless param[:params].blank? %>
|
|
6
|
+
<% next %>
|
|
7
|
+
<% end %>
|
|
8
|
+
<tr style='background-color:rgb(<%= "#{col},#{col},#{col}" %>);'>
|
|
9
|
+
<td>
|
|
10
|
+
<strong><%= param[:full_name] %> </strong><br>
|
|
11
|
+
<small>
|
|
12
|
+
<%= param[:required] ? t('apipie.required') : t('apipie.optional') %>
|
|
13
|
+
<%= param[:allow_nil] ? ', '+t('apipie.nil_allowed') : '' %>
|
|
14
|
+
</small>
|
|
15
|
+
</td>
|
|
16
|
+
<td>
|
|
17
|
+
<%= param[:description].html_safe %>
|
|
18
|
+
<%- if param[:validations].present? || param[:validator].present? %>
|
|
19
|
+
<p><strong>Validations:</strong></p>
|
|
20
|
+
<ul>
|
|
21
|
+
<%- if param[:validator].present? %>
|
|
22
|
+
<li><%= Apipie.markup_to_html(param[:validator]).html_safe %></li>
|
|
23
|
+
<%- end %>
|
|
24
|
+
<%- if param[:validations].present? %>
|
|
25
|
+
<%- param[:validations].each do |item| %>
|
|
26
|
+
<li><%= item.html_safe %></li>
|
|
27
|
+
<%- end %>
|
|
28
|
+
<%- end %>
|
|
29
|
+
</ul>
|
|
30
|
+
<%- end %>
|
|
31
|
+
|
|
32
|
+
<% unless param[:metadata].blank? %>
|
|
33
|
+
<br>
|
|
34
|
+
Metadata:
|
|
35
|
+
<%= render(:partial => "metadata", :locals => {:meta => param[:metadata]}) %>
|
|
36
|
+
<% end %>
|
|
37
|
+
</td>
|
|
38
|
+
|
|
39
|
+
</tr>
|
|
40
|
+
|
|
41
|
+
<%= render(:partial => "params", :locals => {:level => level + 1, :params => param[:params]}) unless param[:params].blank? %>
|
|
42
|
+
<% end %>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
<ul>
|
|
2
|
+
<% params.each do |param| %>
|
|
3
|
+
<% if !param[:show] %>
|
|
4
|
+
<%= render(:partial => "params_plain", :locals => {:params => param[:params]}) unless param[:params].blank? %>
|
|
5
|
+
<% next %>
|
|
6
|
+
<% end %>
|
|
7
|
+
<li>
|
|
8
|
+
<strong><%= param[:name] %> </strong>:
|
|
9
|
+
<small>
|
|
10
|
+
<%= param[:required] ? t('apipie.required') : t('apipie.optional') %>
|
|
11
|
+
<%= param[:allow_nil] ? ', '+t('apipie.nil_allowed') : '' %>
|
|
12
|
+
<% if param[:validator] %>
|
|
13
|
+
[ <%= Apipie.markup_to_html(param[:validator]).html_safe %> ]
|
|
14
|
+
<% end %>
|
|
15
|
+
</small>
|
|
16
|
+
<%= param[:description].html_safe %>
|
|
17
|
+
</li>
|
|
18
|
+
<%= render(:partial => "params_plain", :locals => {:params => param[:params]}) unless param[:params].blank? %>
|
|
19
|
+
<% end %>
|
|
20
|
+
</ul>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<h1 class='page-header'>
|
|
2
|
+
<%= t('apipie.oops') %>
|
|
3
|
+
<small>
|
|
4
|
+
<% if params[:method].blank? %>
|
|
5
|
+
<%= t('apipie.resource_not_found_html', :resource => "<code>#{h(params[:resource])}</code>".html_safe) %>
|
|
6
|
+
<% else %>
|
|
7
|
+
<%= t('apipie.method_not_found_html', :resource => "<code>#{h(params[:resource])}</code>".html_safe,
|
|
8
|
+
:method => "<code>#{h(params[:method])}</code>".html_safe) %>
|
|
9
|
+
<% end %>
|
|
10
|
+
</small>
|
|
11
|
+
</h1>
|
|
12
|
+
|
|
13
|
+
<% if @doc %>
|
|
14
|
+
<%= t('apipie.goto_homepage_html', :href => link_to(
|
|
15
|
+
t('apipie.goto_homepage_href', :app_name => @doc[:name]),
|
|
16
|
+
File.join(@doc[:doc_url], @doc[:link_extension]))) %>
|
|
17
|
+
<% end %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{ "checksum": "<%= raw Apipie.checksum %>" }
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<h1 class='page-header'><%= t('apipie.no_doc_found') %></h1>
|
|
2
|
+
<p><%= t('apipie.no_docs_found_descr') %></p>
|
|
3
|
+
<p><%= t('apipie.follow_instructions_html',
|
|
4
|
+
:href => link_to(t('apipie.follow_instructions_href'),
|
|
5
|
+
"https://github.com/Pajk/apipie-rails#getting-started", :target => "_blank")) %></p>
|
|
6
|
+
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<ul class='breadcrumb'>
|
|
2
|
+
<li class='active'><a href='<%= @doc[:doc_url] %><%= @doc[:link_extension] %>'><%= @doc[:name] %> <%= @doc[:resources].values.first && @doc[:resources].values.first[:version] %></a></li>
|
|
3
|
+
<%= render(:partial => "languages", :locals => {:doc_url => @doc[:doc_url]}) %>
|
|
4
|
+
<% if @versions && @versions.size > 1 %>
|
|
5
|
+
<li class='pull-right'>
|
|
6
|
+
<%= @versions.collect { |v| link_to v, Apipie.full_url(v+@doc[:link_extension]) }.join(' / ').html_safe %>
|
|
7
|
+
</li>
|
|
8
|
+
<% end %>
|
|
9
|
+
</ul>
|
|
10
|
+
|
|
11
|
+
<div><%= raw @doc[:info] %></div>
|
|
12
|
+
|
|
13
|
+
<h1 class='page-header'><%= t('apipie.resources') %></h1>
|
|
14
|
+
|
|
15
|
+
<% @doc[:resources].sort_by(&:first).each do |key, api| %>
|
|
16
|
+
<h2>
|
|
17
|
+
<a href='<%= api[:doc_url] %><%= @doc[:link_extension] %>'>
|
|
18
|
+
<%= api[:name] %>
|
|
19
|
+
</a>
|
|
20
|
+
<% if api[:deprecated] %>
|
|
21
|
+
<code>DEPRECATED</code>
|
|
22
|
+
<% end %>
|
|
23
|
+
<br>
|
|
24
|
+
<small><%= api[:short_description] %></small>
|
|
25
|
+
</h2>
|
|
26
|
+
<table class='table'>
|
|
27
|
+
<thead>
|
|
28
|
+
<tr>
|
|
29
|
+
<th><%= t('apipie.resource') %></th>
|
|
30
|
+
<th><%= t('apipie.description') %></th>
|
|
31
|
+
</tr>
|
|
32
|
+
</thead>
|
|
33
|
+
<tbody>
|
|
34
|
+
<% api[:methods].each do |m| %>
|
|
35
|
+
<% if !m[:show] %>
|
|
36
|
+
<% next %>
|
|
37
|
+
<% end %>
|
|
38
|
+
<% m[:apis].each do |a| %>
|
|
39
|
+
<tr>
|
|
40
|
+
<td>
|
|
41
|
+
<a href='<%= m[:doc_url] %><%= @doc[:link_extension] %>'><%= a[:http_method] %> <%= a[:api_url] %></a>
|
|
42
|
+
<% if a[:deprecated] %>
|
|
43
|
+
<code>DEPRECATED</code>
|
|
44
|
+
<% end %>
|
|
45
|
+
</td>
|
|
46
|
+
<td width='60%'><%= a[:short_description] %></td>
|
|
47
|
+
</tr>
|
|
48
|
+
<% end %>
|
|
49
|
+
<% end %>
|
|
50
|
+
</tbody>
|
|
51
|
+
</table>
|
|
52
|
+
<% end %>
|
|
53
|
+
|
|
54
|
+
<% unless content_for(:apipie_footer) == @doc[:copyright] %>
|
|
55
|
+
<%= content_for :apipie_footer, raw(@doc[:copyright]) %>
|
|
56
|
+
<% end %>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<ul class='breadcrumb'>
|
|
2
|
+
<li>
|
|
3
|
+
<a href='<%= @doc[:doc_url] %><%= @doc[:link_extension] %>'><%= @doc[:name] %> <%= @resource[:version] %></a>
|
|
4
|
+
<span class='divider'>/</span>
|
|
5
|
+
</li>
|
|
6
|
+
<li>
|
|
7
|
+
<a href='<%= @resource[:doc_url] %><%= @doc[:link_extension] %>'>
|
|
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
|
+
<%= render(:partial => "languages", :locals => {:doc_url => @method[:doc_url]}) %>
|
|
15
|
+
|
|
16
|
+
</ul>
|
|
17
|
+
|
|
18
|
+
<% @method[:apis].each do |api| %>
|
|
19
|
+
<div class='page-header'>
|
|
20
|
+
<h1>
|
|
21
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
|
22
|
+
<% if api[:deprecated] %>
|
|
23
|
+
<code>DEPRECATED</code>
|
|
24
|
+
<% end %>
|
|
25
|
+
<br>
|
|
26
|
+
<small><%= raw api[:short_description] %></small>
|
|
27
|
+
</h1>
|
|
28
|
+
</div>
|
|
29
|
+
<% end %>
|
|
30
|
+
|
|
31
|
+
<div>
|
|
32
|
+
<% unless @method[:see].empty? %>
|
|
33
|
+
Also see <%= @method[:see].map { |s| link_to(s[:description], "#{s[:link]}#{@doc[:link_extension]}") }.to_sentence.html_safe %>.
|
|
34
|
+
<% end %>
|
|
35
|
+
|
|
36
|
+
<%= render(:partial => "method_detail", :locals => {:method => @method, :h_level => 2}) %>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<% unless content_for(:apipie_footer) == @doc[:copyright] %>
|
|
40
|
+
<%= content_for :apipie_footer, raw(@doc[:copyright]) %>
|
|
41
|
+
<% end %>
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
<% if !method[:show] %>
|
|
6
|
+
<% next %>
|
|
7
|
+
<% end %>
|
|
8
|
+
<li><a href='#<%= key %>-<%= method[:name] %>'><%= method[:name] %></a></li>
|
|
9
|
+
<% end %>
|
|
10
|
+
</ul>
|
|
11
|
+
<% end %>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
<% @doc[:resources].sort_by(&:first).each do |key, resource| %>
|
|
15
|
+
|
|
16
|
+
<hr/>
|
|
17
|
+
|
|
18
|
+
<div>
|
|
19
|
+
<h2 id="<%= key %>">
|
|
20
|
+
<a href='#<%= key %>'><%= resource[:name] %></a><br>
|
|
21
|
+
<small><%= raw resource[:short_description] %></small>
|
|
22
|
+
</h2>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<% unless resource[:full_description].blank? %>
|
|
26
|
+
<div><%= raw resource[:full_description] %></div>
|
|
27
|
+
<% end %>
|
|
28
|
+
|
|
29
|
+
<div>
|
|
30
|
+
|
|
31
|
+
<% resource[:methods].each do |method| %>
|
|
32
|
+
<% if !method[:show] %>
|
|
33
|
+
<% next %>
|
|
34
|
+
<% end %>
|
|
35
|
+
<hr/>
|
|
36
|
+
|
|
37
|
+
<h3 id="<%= "#{key}-#{method[:name]}" %>">
|
|
38
|
+
<a href='#<%= key %>'><%= resource[:name] %></a> / <a href='#<%= "#{key}-#{method[:name]}" %>'><%= method[:name] %></a>
|
|
39
|
+
</h3>
|
|
40
|
+
|
|
41
|
+
<div>
|
|
42
|
+
<% method[:apis].each do |api| %>
|
|
43
|
+
<h4>
|
|
44
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
|
45
|
+
<br>
|
|
46
|
+
<small><%= raw api[:short_description] %></small>
|
|
47
|
+
</h4>
|
|
48
|
+
<% end %>
|
|
49
|
+
</div>
|
|
50
|
+
|
|
51
|
+
<div>
|
|
52
|
+
<%= raw method[:full_description] %>
|
|
53
|
+
<% unless method[:examples].blank? %>
|
|
54
|
+
<h4><%= t('apipie.examples') %></h4>
|
|
55
|
+
<% method[:examples].each do |example| %>
|
|
56
|
+
<pre class="wiki"><%= example %></pre>
|
|
57
|
+
<% end %>
|
|
58
|
+
<% end %>
|
|
59
|
+
|
|
60
|
+
<% unless method[:errors].blank? %>
|
|
61
|
+
<h4><%= t('apipie.errors') %></h4>
|
|
62
|
+
<% method[:errors].each do |err| %>
|
|
63
|
+
<%= err[:code] %>
|
|
64
|
+
<%= err[:description] %>
|
|
65
|
+
<%= render(:partial => "metadata", :locals => {:meta => err[:metadata]}) %>
|
|
66
|
+
<br>
|
|
67
|
+
<% end %>
|
|
68
|
+
<% end %>
|
|
69
|
+
|
|
70
|
+
<% unless method[:params].blank? %>
|
|
71
|
+
<h4><%= t('apipie.params') %></h4>
|
|
72
|
+
<%= render(:partial => "params_plain", :locals => {:params => method[:params]}) %>
|
|
73
|
+
<% end %>
|
|
74
|
+
</div>
|
|
75
|
+
<% end %>
|
|
76
|
+
</div>
|
|
77
|
+
<% end %>
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<ul class='breadcrumb'>
|
|
2
|
+
<li>
|
|
3
|
+
<a href='<%= @doc[:doc_url] %><%= @doc[:link_extension] %>'><%= @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
|
+
<%= render(:partial => "languages", :locals => {:doc_url => @resource[:doc_url]}) %>
|
|
11
|
+
</ul>
|
|
12
|
+
|
|
13
|
+
<div class='page-header'>
|
|
14
|
+
<h1>
|
|
15
|
+
<%= @resource[:name] %>
|
|
16
|
+
<% if @resource[:deprecated] %>
|
|
17
|
+
<code>DEPRECATED</code>
|
|
18
|
+
<% end %>
|
|
19
|
+
<br>
|
|
20
|
+
<small><%= raw @resource[:short_description] %></small>
|
|
21
|
+
</h1>
|
|
22
|
+
</div>
|
|
23
|
+
|
|
24
|
+
<% unless @resource[:full_description].blank? %>
|
|
25
|
+
<div><%= raw @resource[:full_description] %></div>
|
|
26
|
+
<% end %>
|
|
27
|
+
|
|
28
|
+
<% unless @resource[:metadata].blank? %>
|
|
29
|
+
<h2>Metadata</h2>
|
|
30
|
+
<%= render(:partial => "metadata", :locals => {:meta => @resource[:metadata]}) %>
|
|
31
|
+
<% end %>
|
|
32
|
+
|
|
33
|
+
<% unless @resource[:formats].blank? %>
|
|
34
|
+
<h2>Supported Formats</h2>
|
|
35
|
+
<%= @resource[:formats].join(', ') %>
|
|
36
|
+
<% end %>
|
|
37
|
+
|
|
38
|
+
<%= render(:partial => 'headers', :locals => { headers: @resource[:headers], h_level: 2 }) %>
|
|
39
|
+
|
|
40
|
+
<div class='accordion' id='accordion'>
|
|
41
|
+
|
|
42
|
+
<% @resource[:methods].each do |m| %>
|
|
43
|
+
<% if !m[:show] %>
|
|
44
|
+
<% next %>
|
|
45
|
+
<% end %>
|
|
46
|
+
<hr>
|
|
47
|
+
<div class='pull-right small'>
|
|
48
|
+
<a href='<%= m[:doc_url] %><%= @doc[:link_extension] %>'> >>> </a>
|
|
49
|
+
</div>
|
|
50
|
+
<div>
|
|
51
|
+
<% m[:apis].each do |api| %>
|
|
52
|
+
<h2>
|
|
53
|
+
<a href='#description-<%= m[:name] %>'
|
|
54
|
+
class='accordion-toggle'
|
|
55
|
+
data-toggle='collapse'
|
|
56
|
+
data-parent='#accordion'>
|
|
57
|
+
<%= api[:http_method] %> <%= api[:api_url] %>
|
|
58
|
+
</a>
|
|
59
|
+
<% if api[:deprecated] %>
|
|
60
|
+
<code>DEPRECATED</code>
|
|
61
|
+
<% end %>
|
|
62
|
+
<br>
|
|
63
|
+
<small><%= raw api[:short_description] %></small>
|
|
64
|
+
</h2>
|
|
65
|
+
<% end %>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<% unless m[:see].empty? %>
|
|
69
|
+
Also see <%= m[:see].map { |s| link_to(s[:description], "#{s[:link]}#{@doc[:link_extension]}") }.to_sentence.html_safe %>.
|
|
70
|
+
<% end %>
|
|
71
|
+
|
|
72
|
+
<div id='description-<%= m[:name] %>' class='collapse accordion-body'>
|
|
73
|
+
<%= render(:partial => "method_detail", :locals => {:method => m, :h_level => 3}) %>
|
|
74
|
+
</div>
|
|
75
|
+
<% end %>
|
|
76
|
+
</div>
|
|
77
|
+
|
|
78
|
+
<% unless content_for(:apipie_footer) == @doc[:copyright] %>
|
|
79
|
+
<%= content_for :apipie_footer, raw(@doc[:copyright]) %>
|
|
80
|
+
<% end %>
|