apipie-dsl 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +485 -0
  4. data/app/controllers/apipie_dsl/apipie_dsls_controller.rb +190 -0
  5. data/app/helpers/apipie_dsl_helper.rb +110 -0
  6. data/app/public/apipie_dsl/javascripts/apipie_dsl.js +6 -0
  7. data/app/public/apipie_dsl/javascripts/bundled/bootstrap-collapse.js +138 -0
  8. data/app/public/apipie_dsl/javascripts/bundled/bootstrap.js +1726 -0
  9. data/app/public/apipie_dsl/javascripts/bundled/jquery.js +5 -0
  10. data/app/public/apipie_dsl/javascripts/bundled/prettify.js +28 -0
  11. data/app/public/apipie_dsl/stylesheets/application.css +7 -0
  12. data/app/public/apipie_dsl/stylesheets/bundled/bootstrap-responsive.min.css +12 -0
  13. data/app/public/apipie_dsl/stylesheets/bundled/bootstrap.min.css +689 -0
  14. data/app/public/apipie_dsl/stylesheets/bundled/prettify.css +30 -0
  15. data/app/views/apipie_dsl/apipie_dsls/_index_class_meth.erb +11 -0
  16. data/app/views/apipie_dsl/apipie_dsls/_index_class_prop.erb +13 -0
  17. data/app/views/apipie_dsl/apipie_dsls/_languages.erb +6 -0
  18. data/app/views/apipie_dsl/apipie_dsls/_metadata.erb +1 -0
  19. data/app/views/apipie_dsl/apipie_dsls/_method.erb +34 -0
  20. data/app/views/apipie_dsl/apipie_dsls/_method_detail.erb +58 -0
  21. data/app/views/apipie_dsl/apipie_dsls/_params.html.erb +47 -0
  22. data/app/views/apipie_dsl/apipie_dsls/_params_plain.html.erb +19 -0
  23. data/app/views/apipie_dsl/apipie_dsls/_property.erb +24 -0
  24. data/app/views/apipie_dsl/apipie_dsls/_property_detail.erb +35 -0
  25. data/app/views/apipie_dsl/apipie_dsls/_raises.html.erb +23 -0
  26. data/app/views/apipie_dsl/apipie_dsls/_returns.html.erb +53 -0
  27. data/app/views/apipie_dsl/apipie_dsls/apipie_dsl_404.html.erb +17 -0
  28. data/app/views/apipie_dsl/apipie_dsls/class.html.erb +75 -0
  29. data/app/views/apipie_dsl/apipie_dsls/custom_help.html.erb +10 -0
  30. data/app/views/apipie_dsl/apipie_dsls/getting_started.html.erb +4 -0
  31. data/app/views/apipie_dsl/apipie_dsls/index.html.erb +72 -0
  32. data/app/views/apipie_dsl/apipie_dsls/method.html.erb +52 -0
  33. data/app/views/apipie_dsl/apipie_dsls/plain.html.erb +116 -0
  34. data/app/views/apipie_dsl/apipie_dsls/static.html.erb +158 -0
  35. data/app/views/layouts/apipie_dsl/apipie_dsl.html.erb +26 -0
  36. data/lib/apipie-dsl.rb +3 -0
  37. data/lib/apipie_dsl.rb +28 -0
  38. data/lib/apipie_dsl/Rakefile +6 -0
  39. data/lib/apipie_dsl/apipie_dsl_module.rb +51 -0
  40. data/lib/apipie_dsl/application.rb +321 -0
  41. data/lib/apipie_dsl/class_description.rb +107 -0
  42. data/lib/apipie_dsl/configuration.rb +87 -0
  43. data/lib/apipie_dsl/dsl.rb +596 -0
  44. data/lib/apipie_dsl/errors.rb +68 -0
  45. data/lib/apipie_dsl/exception_description.rb +39 -0
  46. data/lib/apipie_dsl/markup.rb +41 -0
  47. data/lib/apipie_dsl/method_description.rb +112 -0
  48. data/lib/apipie_dsl/parameter_description.rb +152 -0
  49. data/lib/apipie_dsl/railtie.rb +15 -0
  50. data/lib/apipie_dsl/return_description.rb +71 -0
  51. data/lib/apipie_dsl/routing.rb +17 -0
  52. data/lib/apipie_dsl/see_description.rb +35 -0
  53. data/lib/apipie_dsl/static_dispatcher.rb +70 -0
  54. data/lib/apipie_dsl/tag_list_description.rb +11 -0
  55. data/lib/apipie_dsl/tasks/apipie_dsl/cache.rake +43 -0
  56. data/lib/apipie_dsl/tasks/apipie_dsl/static.rake +43 -0
  57. data/lib/apipie_dsl/tasks/apipie_dsl/static_json.rake +29 -0
  58. data/lib/apipie_dsl/tasks_utils.rb +137 -0
  59. data/lib/apipie_dsl/utils.rb +83 -0
  60. data/lib/apipie_dsl/validator.rb +479 -0
  61. data/lib/apipie_dsl/version.rb +5 -0
  62. data/lib/generators/apipie_dsl/install/install_generator.rb +21 -0
  63. data/lib/generators/apipie_dsl/install/templates/initializer.rb.erb +9 -0
  64. data/lib/generators/apipie_dsl/views_generator.rb +14 -0
  65. data/test/test_helper.rb +6 -0
  66. metadata +220 -0
@@ -0,0 +1,10 @@
1
+ <ul class='breadcrumb'>
2
+ <% dsl_sections.each do |section| %>
3
+ <li><a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a></li>
4
+ <% end %>
5
+ <li class='active pull-right'>
6
+ <% section = 'help' %>
7
+ <a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a>
8
+ </li>
9
+ </ul>
10
+ <%= render_help %>
@@ -0,0 +1,4 @@
1
+ <h1 class='page-header'><%= t('apipie_dsl.no_doc_found') %></h1>
2
+ <p><%= t('apipie_dsl.no_docs_found_descr') %></p>
3
+ <p><%= t('apipie_dsl.follow_instructions_html', href: link_to(t('apipie_dsl.follow_instructions_href'),
4
+ 'https://github.com/ofedoren/apipie-dsl#getting-started', :target => '_blank')) %></p>
@@ -0,0 +1,72 @@
1
+ <ul class='breadcrumb'>
2
+ <% dsl_sections.each do |section| %>
3
+ <% if section == @section %>
4
+ <li class='active'><a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{@section}") %></a></li>
5
+ <% else %>
6
+ <li><a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a></li>
7
+ <% end %>
8
+ <% end %>
9
+ <% unless ApipieDSL.configuration.help_layout.nil? %>
10
+ <li class='pull-right'>
11
+ <% section = 'help' %>
12
+ <a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a>
13
+ </li>
14
+ <% end %>
15
+ </ul>
16
+ <ul class='breadcrumb'>
17
+ <li class='active'><a href='<%= @doc[:doc_url] %><%= section_ext(@section) %><%= @doc[:link_extension] %>'><%= @doc[:name] %> <%= current_version(@doc[:classes]) %></a></li>
18
+ <%= render(:partial => 'languages', :locals => {:doc_url => @doc[:doc_url]}) %>
19
+ <% if @versions && @versions.size > 1 %>
20
+ <li class='pull-right'>
21
+ <%= @versions.collect { |v| link_to v, ApipieDSL.full_url(v+@doc[:link_extension]) }.join(' / ').html_safe %>
22
+ </li>
23
+ <% end %>
24
+ </ul>
25
+
26
+ <div><%= raw @doc[:info] %></div>
27
+
28
+ <h1 class='page-header'><%= t('apipie_dsl.classes') %></h1>
29
+
30
+ <% @doc[:classes].each_value do |klass| %>
31
+ <% next unless klass[:show] && in_section?(@section, klass[:id]) %>
32
+ <h2>
33
+ <a href='<%= klass[:doc_url] %><%= @doc[:link_extension] %>'>
34
+ <%= klass[:name] %>
35
+ </a>
36
+ <% if klass[:deprecated] %>
37
+ <code>DEPRECATED</code>
38
+ <% end %>
39
+ <br>
40
+ <small><%= klass[:short_description] %></small>
41
+ </h2>
42
+ <% unless klass[:properties].empty? %>
43
+ <table class='table'>
44
+ <thead>
45
+ <tr>
46
+ <th><%= t('apipie_dsl.property') %></th>
47
+ <th><%= t('apipie_dsl.description') %></th>
48
+ </tr>
49
+ </thead>
50
+ <tbody>
51
+ <%= render partial: 'index_class_prop', collection: klass[:properties], as: :prop, locals: { link_extension: @doc[:link_extension], doc_url: klass[:doc_url] } %>
52
+ </tbody>
53
+ </table>
54
+ <% end %>
55
+ <% unless klass[:methods].empty? %>
56
+ <table class='table'>
57
+ <thead>
58
+ <tr>
59
+ <th><%= t('apipie_dsl.method') %></th>
60
+ <th><%= t('apipie_dsl.description') %></th>
61
+ </tr>
62
+ </thead>
63
+ <tbody>
64
+ <%= render partial: 'index_class_meth', collection: klass[:methods], as: :meth, locals: { link_extension: @doc[:link_extension] } %>
65
+ </tbody>
66
+ </table>
67
+ <% end %>
68
+ <% end %>
69
+
70
+ <% unless content_for(:apipie_dsl_footer) == @doc[:copyright] %>
71
+ <%= content_for :apipie_dsl_footer, raw(@doc[:copyright]) %>
72
+ <% end %>
@@ -0,0 +1,52 @@
1
+ <ul class='breadcrumb'>
2
+ <% dsl_sections.each do |section| %>
3
+ <% if section == @section %>
4
+ <li class='active'><a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{@section}") %></a></li>
5
+ <% else %>
6
+ <li><a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a></li>
7
+ <% end %>
8
+ <% end %>
9
+ <% unless ApipieDSL.configuration.help_layout.nil? %>
10
+ <li class='pull-right'>
11
+ <% section = 'help' %>
12
+ <a href='<%= @doc[:doc_url] %><%= section_ext(section) %><%= @doc[:link_extension] %>'><%= t("apipie_dsl.#{section}") %></a>
13
+ </li>
14
+ <% end %>
15
+ </ul>
16
+ <ul class='breadcrumb'>
17
+ <li>
18
+ <a href='<%= @doc[:doc_url] %><%= section_ext(@section) %><%= @doc[:link_extension] %>'><%= @doc[:name] %> <%= @klass[:version] %></a>
19
+ <span class='divider'>/</span>
20
+ </li>
21
+ <li>
22
+ <a href='<%= @klass[:doc_url] %><%= @doc[:link_extension] %>'>
23
+ <%= @klass[:name] %>
24
+ </a>
25
+ <span class='divider'>/</span>
26
+ </li>
27
+ <li class='active'><%= @method[:name] %></li>
28
+ <%= render(:partial => 'languages', :locals => {:doc_url => @method[:doc_url]}) %>
29
+ </ul>
30
+
31
+ <div class='page-header'>
32
+ <h1>
33
+ <%= method_signature(@method) %>
34
+ <% if @method[:deprecated] %>
35
+ <code>DEPRECATED</code>
36
+ <% end %>
37
+ <br>
38
+ <small><%= raw @method[:short_description] %></small>
39
+ </h1>
40
+ </div>
41
+
42
+ <div>
43
+ <% unless @method[:see].empty? %>
44
+ Also see <%= @method[:see].map { |s| link_to(s[:description] || s[:link], "#{s[:url]}#{@doc[:link_extension]}") }.to_sentence.html_safe %>.
45
+ <% end %>
46
+
47
+ <%= render(:partial => 'method_detail', :locals => {:method => @method, :h_level => 2}) %>
48
+ </div>
49
+
50
+ <% unless content_for(:apipie_dsl_footer) == @doc[:copyright] %>
51
+ <%= content_for :apipie_dsl_footer, raw(@doc[:copyright]) %>
52
+ <% end %>
@@ -0,0 +1,116 @@
1
+ <% @doc[:classes].sort_by(&:first).each do |key, klass| %>
2
+ <% next unless klass[:show] %>
3
+ <h4><a href='#<%= key %>'><%= klass[:name] %></a></h4>
4
+ <ul>
5
+ <% klass[:properties].each do |prop| %>
6
+ <% next unless prop[:show] %>
7
+ <li><a href='#<%= key %>-<%= prop[:name] %>'><%= prop[:name] %></a></li>
8
+ <% end %>
9
+
10
+ <% klass[:methods].each do |method| %>
11
+ <% next unless method[:show] %>
12
+ <li><a href='#<%= key %>-<%= method[:name] %>'><%= method[:name] %></a></li>
13
+ <% end %>
14
+ </ul>
15
+ <% end %>
16
+
17
+ <% @doc[:classes].sort_by(&:first).each do |key, klass| %>
18
+ <% next unless klass[:show] %>
19
+ <hr/>
20
+ <div>
21
+ <h2 id="<%= key %>">
22
+ <a href='#<%= key %>'><%= klass[:name] %></a><br>
23
+ <small><%= raw klass[:short_description] %></small>
24
+ </h2>
25
+ </div>
26
+
27
+ <% unless klass[:full_description].blank? %>
28
+ <div><%= raw klass[:full_description] %></div>
29
+ <% end %>
30
+
31
+ <div>
32
+ <% klass[:properties].each do |prop| %>
33
+ <% next unless prop[:show] %>
34
+ <hr/>
35
+
36
+ <h3 id="<%= "#{key}-#{prop[:name]}" %>">
37
+ <a href='#<%= key %>'><%= klass[:name] %></a> / <a href='#<%= "#{key}-#{prop[:name]}" %>'><%= prop[:name] %></a>
38
+ </h3>
39
+
40
+ <div>
41
+ <%= raw prop[:short_description] %>
42
+ <% unless prop[:examples].blank? %>
43
+ <h4><%= t('apipie_dsl.examples') %></h4>
44
+ <% prop[:examples].each do |example| %>
45
+ <pre class="wiki"><%= example %></pre>
46
+ <% end %>
47
+ <% end %>
48
+
49
+ <% unless prop[:returns].blank? %>
50
+ <h2><%= t('apipie_dsl.returns') %></h2>
51
+ <% if prop[:returns][:description] %>
52
+ <p><%= prop[:returns][:description] %></p>
53
+ <% end %>
54
+ <table class='table'>
55
+ <thead>
56
+ <tr>
57
+ <th><%= t("apipie_dsl.#{prop[:returns][:object][:class]}") %></th>
58
+ <th><%= t('apipie_dsl.details') %></th>
59
+ </tr>
60
+ </thead>
61
+ <tbody>
62
+ <%= render(partial: 'returns', locals: { return_object: prop[:returns][:object] }) %>
63
+ </tbody>
64
+ </table>
65
+ <% end %>
66
+ </div>
67
+ <% end %>
68
+
69
+ <% klass[:methods].each do |method| %>
70
+ <% next unless method[:show] %>
71
+ <hr/>
72
+
73
+ <h3 id="<%= "#{key}-#{method[:name]}" %>">
74
+ <a href='#<%= key %>'><%= klass[:name] %></a> / <a href='#<%= "#{key}-#{method[:name]}" %>'><%= method[:name] %></a>
75
+ </h3>
76
+
77
+ <div>
78
+ <%= raw method[:full_description] %>
79
+ <% unless method[:examples].blank? %>
80
+ <h4><%= t('apipie_dsl.examples') %></h4>
81
+ <% method[:examples].each do |example| %>
82
+ <pre class="wiki"><%= example %></pre>
83
+ <% end %>
84
+ <% end %>
85
+
86
+ <% unless method[:raises].blank? %>
87
+ <h2><%= t('apipie_dsl.raises') %></h2>
88
+ <%= render(partial: 'raises', locals: { raises: method[:raises] }) %>
89
+ <% end %>
90
+
91
+ <% unless method[:params].blank? %>
92
+ <h4><%= t('apipie_dsl.params') %></h4>
93
+ <%= render(:partial => 'params_plain', :locals => {:params => method[:params]}) %>
94
+ <% end %>
95
+
96
+ <% unless method[:returns].blank? %>
97
+ <h2><%= t('apipie_dsl.returns') %></h2>
98
+ <% if method[:returns][:description] %>
99
+ <p><%= method[:returns][:description] %></p>
100
+ <% end %>
101
+ <table class='table'>
102
+ <thead>
103
+ <tr>
104
+ <th><%= t("apipie_dsl.#{method[:returns][:object][:class]}") %></th>
105
+ <th><%= t('apipie_dsl.details') %></th>
106
+ </tr>
107
+ </thead>
108
+ <tbody>
109
+ <%= render(partial: 'returns', locals: { return_object: method[:returns][:object] }) %>
110
+ </tbody>
111
+ </table>
112
+ <% end %>
113
+ </div>
114
+ <% end %>
115
+ </div>
116
+ <% end %>
@@ -0,0 +1,158 @@
1
+ <% @doc[:classes].sort_by(&:first).each do |key, klass| %>
2
+ <% next unless klass[:show] %>
3
+ <h4><a href='#<%= key %>'><%= klass[:name] %></a></h4>
4
+ <ul>
5
+ <% klass[:properties].each do |prop| %>
6
+ <% next unless prop[:show] %>
7
+ <li><a href='#<%= key %>-<%= prop[:name] %>'><%= prop[:name] %></a></li>
8
+ <% end %>
9
+
10
+ <% klass[:methods].each do |method| %>
11
+ <% next unless method[:show] %>
12
+ <li><a href='#<%= key %>-<%= method[:name] %>'><%= method[:name] %></a></li>
13
+ <% end %>
14
+ </ul>
15
+ <% end %>
16
+
17
+ <div><%= @doc[:info].html_safe %></div>
18
+
19
+ <hr>
20
+
21
+ <% @doc[:classes].sort_by(&:first).each do |key, klass| %>
22
+ <% next unless klass[:show] %>
23
+ <ul class='breadcrumb' id='<%= key %>'>
24
+ <li><a href='#'><%= @doc[:name] %></a><span class='divider'>/</span></li>
25
+ <li class='active'><%= klass[:name] %></li>
26
+ </ul>
27
+
28
+ <div class='page-header'>
29
+ <h1>
30
+ <a href='#<%= key %>'><%= klass[:name] %></a><br>
31
+ <small><%= raw klass[:short_description] %></small>
32
+ </h1>
33
+ </div>
34
+
35
+ <% unless klass[:full_description].blank? %>
36
+ <div><%= raw klass[:full_description] %></div>
37
+ <% end %>
38
+
39
+ <div class='accordion' id='prop-accordion'>
40
+
41
+ <% klass[:properties].each do |prop| %>
42
+ <% next unless prop[:show] %>
43
+ <hr>
44
+
45
+ <ul class='breadcrumb' id='<%= key %>-<%= prop[:name] %>'>
46
+ <li>
47
+ <a href='#'><%= @doc[:name] %></a>
48
+ <span class='divider'>/</span>
49
+ </li>
50
+ <li>
51
+ <a href='#<%= key %>'><%= klass[:name] %></a>
52
+ <span class='divider'>/</span>
53
+ </li>
54
+ <li class='active'><%= prop[:name] %></li>
55
+ </ul>
56
+
57
+ <div>
58
+ <%= raw prop[:short_description] %>
59
+ <% unless prop[:examples].blank? %>
60
+ <h2><%= t('apipie_dsl.examples') %></h2>
61
+ <% prop[:examples].each do |example| %>
62
+ <pre><%= example %></pre>
63
+ <% end %>
64
+ <% end %>
65
+
66
+ <% unless prop[:returns].blank? %>
67
+ <h2><%= t('apipie_dsl.returns') %></h2>
68
+ <% if prop[:returns][:description] %>
69
+ <p><%= prop[:returns][:description] %></p>
70
+ <% end %>
71
+ <table class='table'>
72
+ <thead>
73
+ <tr>
74
+ <th><%= t("apipie_dsl.#{prop[:returns][:object][:class]}") %></th>
75
+ <th><%= t("apipie_dsl.details") %></th>
76
+ </tr>
77
+ </thead>
78
+ <tbody>
79
+ <%= render(partial: 'returns', locals: { return_object: prop[:returns][:object] }) %>
80
+ </tbody>
81
+ </table>
82
+ <% end %>
83
+ </div>
84
+ <% end %>
85
+ </div>
86
+
87
+ <div class='accordion' id='meth-accordion'>
88
+
89
+ <% klass[:methods].each do |method| %>
90
+ <% next unless method[:show] %>
91
+ <hr>
92
+
93
+ <ul class='breadcrumb' id='<%= key %>-<%= method[:name] %>'>
94
+ <li>
95
+ <a href='#'><%= @doc[:name] %></a>
96
+ <span class='divider'>/</span>
97
+ </li>
98
+ <li>
99
+ <a href='#<%= key %>'><%= klass[:name] %></a>
100
+ <span class='divider'>/</span>
101
+ </li>
102
+ <li class='active'><%= method[:name] %></li>
103
+ </ul>
104
+
105
+ <div>
106
+ <%= raw method[:full_description] %>
107
+ <% unless method[:examples].blank? %>
108
+ <h2><%= t('apipie_dsl.examples') %></h2>
109
+ <% method[:examples].each do |example| %>
110
+ <pre><%= example %></pre>
111
+ <% end %>
112
+ <% end %>
113
+
114
+ <% unless method[:raises].blank? %>
115
+ <h2><%= t('apipie_dsl.raises') %></h2>
116
+ <%= render(:partial => 'raises', :locals => {:raises => method[:raises]}) %>
117
+ <% end %>
118
+
119
+ <% unless method[:params].blank? %>
120
+ <h2><%= t('apipie_dsl.params') %></h2>
121
+ <table class='table'>
122
+ <thead>
123
+ <tr>
124
+ <th><%= t('apipie_dsl.param_name') %></th>
125
+ <th><%= t('apipie_dsl.description') %></th>
126
+ </tr>
127
+ </thead>
128
+ <tbody>
129
+ <%= render(:partial => 'params', :locals => {:params => method[:params]}) %>
130
+ </tbody>
131
+ </table>
132
+ <% end %>
133
+
134
+ <% unless method[:returns].blank? %>
135
+ <h2><%= t('apipie_dsl.returns') %></h2>
136
+ <% if method[:returns][:description] %>
137
+ <p><%= method[:returns][:description] %></p>
138
+ <% end %>
139
+ <table class='table'>
140
+ <thead>
141
+ <tr>
142
+ <th><%= t("apipie_dsl.#{method[:returns][:object][:class]}") %></th>
143
+ <th><%= t('apipie_dsl.details') %></th>
144
+ </tr>
145
+ </thead>
146
+ <tbody>
147
+ <%= render(partial: 'returns', locals: { return_object: method[:returns][:object] }) %>
148
+ </tbody>
149
+ </table>
150
+ <% end %>
151
+ </div>
152
+ <% end %>
153
+ </div>
154
+ <% end %>
155
+
156
+ <% unless content_for(:apipie_dsl_footer) == @doc[:copyright] %>
157
+ <%= content_for :apipie_dsl_footer, raw(@doc[:copyright]) %>
158
+ <% end %>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title><%= t('apipie_dsl.dsl_documentation', :default => 'DSL Documentation') %></title>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <%= ApipieDSL.include_stylesheets %>
8
+ <link type='text/css' rel='stylesheet' href='<%= ApipieDSL.full_url("stylesheets/application.css")%>'/>
9
+ <!-- IE6-8 support of HTML5 elements -->
10
+ <!--[if lt IE 9]>
11
+ <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
12
+ <![endif]-->
13
+ </head>
14
+ <body>
15
+ <div class="container-fluid">
16
+ <div class="row-fluid">
17
+ <div id='container'>
18
+ <%= yield %>
19
+ </div>
20
+ </div>
21
+ <hr>
22
+ <footer><%= yield :apipie_dsl_footer %></footer>
23
+ </div>
24
+ <%= ApipieDSL.include_javascripts %>
25
+ </body>
26
+ </html>
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'apipie_dsl'