utopia 2.5.5 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -2
  3. data/Gemfile +1 -0
  4. data/Rakefile +2 -0
  5. data/docs/code/Utopia.html +439 -433
  6. data/docs/code/Utopia/Command.html +201 -195
  7. data/docs/code/Utopia/Command/Environment.html +244 -244
  8. data/docs/code/Utopia/Command/Server.html +202 -202
  9. data/docs/code/Utopia/Command/Server/Create.html +192 -192
  10. data/docs/code/Utopia/Command/Server/Update.html +235 -235
  11. data/docs/code/Utopia/Command/Site.html +269 -263
  12. data/docs/code/Utopia/Command/Site/Create.html +192 -192
  13. data/docs/code/Utopia/Command/Site/Update.html +246 -246
  14. data/docs/code/Utopia/Command/Top.html +244 -244
  15. data/docs/code/Utopia/Content.html +636 -630
  16. data/docs/code/Utopia/Content/Document.html +1411 -1407
  17. data/docs/code/Utopia/Content/Document/State.html +1048 -1048
  18. data/docs/code/Utopia/Content/Link.html +1023 -1023
  19. data/docs/code/Utopia/Content/Links.html +629 -623
  20. data/docs/code/Utopia/Content/MarkupParser.html +702 -702
  21. data/docs/code/Utopia/Content/MarkupParser/ParsedTag.html +375 -375
  22. data/docs/code/Utopia/Content/MarkupParser/UnbalancedTagError.html +523 -523
  23. data/docs/code/Utopia/Content/Namespace.html +416 -416
  24. data/docs/code/Utopia/Content/Node.html +952 -952
  25. data/docs/code/Utopia/Content/Node/Context.html +790 -790
  26. data/docs/code/Utopia/Content/Response.html +686 -686
  27. data/docs/code/Utopia/Content/SymbolicHash.html +365 -365
  28. data/docs/code/Utopia/Content/Tags.html +134 -134
  29. data/docs/code/Utopia/Content/UnbalancedTagError.html +270 -270
  30. data/docs/code/Utopia/ContentLength.html +298 -294
  31. data/docs/code/Utopia/Controller.html +657 -651
  32. data/docs/code/Utopia/Controller/Actions.html +260 -260
  33. data/docs/code/Utopia/Controller/Actions/Action.html +785 -779
  34. data/docs/code/Utopia/Controller/Actions/ClassMethods.html +360 -360
  35. data/docs/code/Utopia/Controller/Base.html +989 -989
  36. data/docs/code/Utopia/Controller/Respond.html +264 -254
  37. data/docs/code/Utopia/Controller/Respond/ClassMethods.html +207 -207
  38. data/docs/code/Utopia/Controller/Respond/Converter.html +219 -219
  39. data/docs/code/Utopia/Controller/Respond/Converter/Callback.html +425 -425
  40. data/docs/code/Utopia/Controller/Respond/Converter/ToJSON.html +323 -317
  41. data/docs/code/Utopia/Controller/Respond/Passthrough.html +266 -260
  42. data/docs/code/Utopia/Controller/Respond/Responder.html +449 -443
  43. data/docs/code/Utopia/Controller/Rewrite.html +260 -260
  44. data/docs/code/Utopia/Controller/Rewrite/ClassMethods.html +216 -216
  45. data/docs/code/Utopia/Controller/Rewrite/ExtractPrefixRule.html +303 -303
  46. data/docs/code/Utopia/Controller/Rewrite/Rewriter.html +402 -402
  47. data/docs/code/Utopia/Controller/Rewrite/Rule.html +193 -193
  48. data/docs/code/Utopia/Controller/Variables.html +428 -428
  49. data/docs/code/Utopia/Controllers.html +216 -216
  50. data/docs/code/Utopia/Exceptions.html +125 -125
  51. data/docs/code/Utopia/Exceptions/Handler.html +405 -405
  52. data/docs/code/Utopia/Exceptions/Mailer.html +400 -394
  53. data/docs/code/Utopia/Extensions.html +116 -116
  54. data/docs/code/Utopia/Extensions/ArraySplit.html +164 -164
  55. data/docs/code/Utopia/Extensions/DateTimeComparison.html +173 -173
  56. data/docs/code/Utopia/Extensions/TimeDateComparison.html +173 -173
  57. data/docs/code/Utopia/HTTP.html +193 -187
  58. data/docs/code/Utopia/HTTP/Status.html +355 -355
  59. data/docs/code/Utopia/Locale.html +522 -522
  60. data/docs/code/Utopia/Localization.html +886 -880
  61. data/docs/code/Utopia/Localization/Wrapper.html +403 -403
  62. data/docs/code/Utopia/Logger.html +185 -185
  63. data/docs/code/Utopia/Logger/CompactFormatter.html +290 -290
  64. data/docs/code/Utopia/Path.html +2562 -2556
  65. data/docs/code/Utopia/Path/Matcher.html +395 -395
  66. data/docs/code/Utopia/Path/Matcher/MatchData.html +418 -418
  67. data/docs/code/Utopia/Redirection.html +148 -142
  68. data/docs/code/Utopia/Redirection/ClientRedirect.html +594 -594
  69. data/docs/code/Utopia/Redirection/DirectoryIndex.html +265 -265
  70. data/docs/code/Utopia/Redirection/Errors.html +391 -385
  71. data/docs/code/Utopia/Redirection/Moved.html +265 -265
  72. data/docs/code/Utopia/Redirection/RequestFailure.html +201 -201
  73. data/docs/code/Utopia/Redirection/Rewrite.html +265 -265
  74. data/docs/code/Utopia/Session.html +723 -717
  75. data/docs/code/Utopia/Session/LazyHash.html +709 -709
  76. data/docs/code/Utopia/Setup.html +783 -777
  77. data/docs/code/Utopia/Static.html +516 -510
  78. data/docs/code/Utopia/Static/LocalFile.html +875 -869
  79. data/docs/code/Utopia/Static/MimeTypeLoader.html +427 -427
  80. data/docs/code/Utopia/Static/MimeTypeLoader/ExpansionError.html +123 -123
  81. data/docs/code/_index.html +757 -757
  82. data/docs/code/class_list.html +51 -51
  83. data/docs/code/css/full_list.css +58 -58
  84. data/docs/code/css/style.css +496 -499
  85. data/docs/code/file.README.html +72 -70
  86. data/docs/code/file_list.html +56 -56
  87. data/docs/code/frames.html +17 -17
  88. data/docs/code/index.html +72 -70
  89. data/docs/code/js/app.js +292 -248
  90. data/docs/code/js/full_list.js +216 -216
  91. data/docs/code/js/jquery.js +3 -3
  92. data/docs/code/method_list.html +3443 -3443
  93. data/docs/code/top-level-namespace.html +109 -109
  94. data/docs/index.html +2 -2
  95. data/docs/wiki.html +2 -2
  96. data/docs/wiki/edit.html +1 -1
  97. data/docs/wiki/javascript.html +153 -0
  98. data/docs/wiki/javascript/index.html +153 -0
  99. data/documentation/.yarnrc +1 -0
  100. data/documentation/Gemfile +1 -0
  101. data/documentation/config/environment.rb +1 -0
  102. data/documentation/pages/wiki/content.md +1 -1
  103. data/documentation/pages/wiki/javascript/content.md +75 -0
  104. data/documentation/pages/wiki/links.yaml +3 -1
  105. data/lib/utopia/command/site.rb +4 -4
  106. data/lib/utopia/version.rb +1 -1
  107. data/setup/site/.yarnrc +1 -0
  108. data/setup/site/tasks/yarn.rake +32 -0
  109. data/spec/utopia/command_spec.rb +2 -2
  110. metadata +8 -9
  111. data/docs/wiki/bower-integration.html +0 -74
  112. data/docs/wiki/bower-integration/index.html +0 -74
  113. data/documentation/.bowerrc +0 -4
  114. data/documentation/pages/wiki/bower-integration/content.md +0 -25
  115. data/setup/.bowerrc +0 -3
  116. data/setup/site/.bowerrc +0 -4
  117. data/setup/site/tasks/bower.rake +0 -45
@@ -1,257 +1,257 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>
7
- Module: Utopia::Controller::Actions
8
-
9
- &mdash; Documentation by YARD 0.9.12
10
-
11
- </title>
12
-
13
- <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
-
15
- <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
-
17
- <script type="text/javascript" charset="utf-8">
18
- pathId = "Utopia::Controller::Actions";
19
- relpath = '../../';
20
- </script>
21
-
22
-
23
- <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
-
25
- <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
-
27
-
28
- </head>
29
- <body>
30
- <div class="nav_wrap">
31
- <iframe id="nav" src="../../class_list.html?1"></iframe>
32
- <div id="resizer"></div>
33
- </div>
34
-
35
- <div id="main" tabindex="-1">
36
- <div id="header">
37
- <div id="menu">
38
-
39
- <a href="../../_index.html">Index (A)</a> &raquo;
40
- <span class='title'><span class='object_link'><a href="../../Utopia.html" title="Utopia (module)">Utopia</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Controller.html" title="Utopia::Controller (class)">Controller</a></span></span>
41
- &raquo;
42
- <span class="title">Actions</span>
43
-
44
- </div>
45
-
46
- <div id="search">
47
-
48
- <a class="full_list_link" id="class_list_link"
49
- href="../../class_list.html">
50
-
51
- <svg width="24" height="24">
52
- <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
- <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
- <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
- </svg>
56
- </a>
57
-
58
- </div>
59
- <div class="clear"></div>
60
- </div>
61
-
62
- <div id="content"><h1>Module: Utopia::Controller::Actions
63
-
64
-
65
-
66
- </h1>
67
- <div class="box_info">
68
-
69
-
70
-
71
-
72
-
73
-
74
-
75
-
76
-
77
-
78
-
79
- <dl>
80
- <dt>Defined in:</dt>
81
- <dd>lib/utopia/controller/actions.rb</dd>
82
- </dl>
83
-
84
- </div>
85
-
86
- <h2>Overview</h2><div class="docstring">
87
- <div class="discussion">
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: Utopia::Controller::Actions
8
+
9
+ &mdash; Documentation by YARD 0.9.18
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "Utopia::Controller::Actions";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (A)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../Utopia.html" title="Utopia (module)">Utopia</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Controller.html" title="Utopia::Controller (class)">Controller</a></span></span>
41
+ &raquo;
42
+ <span class="title">Actions</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: Utopia::Controller::Actions
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/utopia/controller/actions.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
88
  <p>A controller layer which invokes functinality based on the request path.</p>
89
-
90
-
91
- </div>
92
- </div>
93
- <div class="tags">
94
-
95
- <div class="examples">
96
- <p class="tag_title">Examples:</p>
97
-
98
-
89
+
90
+
91
+ </div>
92
+ </div>
93
+ <div class="tags">
94
+
95
+ <div class="examples">
96
+ <p class="tag_title">Examples:</p>
97
+
98
+
99
99
  <pre class="example code"><code><span class='id identifier rubyid_on'>on</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>*</span><span class='tstring_end'>&#39;</span></span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='op'>|</span>
100
100
  <span class='id identifier rubyid_succeed!'>succeed!</span> <span class='label'>content:</span> <span class='tstring'><span class='tstring_beg'>&#39;</span><span class='tstring_content'>Hello World</span><span class='tstring_end'>&#39;</span></span>
101
- <span class='kw'>end</span></code></pre>
102
-
103
- </div>
104
-
105
-
106
- </div><h2>Defined Under Namespace</h2>
107
- <p class="children">
108
-
109
-
110
- <strong class="modules">Modules:</strong> <span class='object_link'><a href="Actions/ClassMethods.html" title="Utopia::Controller::Actions::ClassMethods (module)">ClassMethods</a></span>
111
-
112
-
113
-
114
- <strong class="classes">Classes:</strong> <span class='object_link'><a href="Actions/Action.html" title="Utopia::Controller::Actions::Action (class)">Action</a></span>
115
-
116
-
117
- </p>
118
-
119
-
120
-
121
-
122
-
123
-
124
-
125
-
126
- <h2>
127
- Class Method Summary
128
- <small><a href="#" class="summary_toggle">collapse</a></small>
129
- </h2>
130
-
131
- <ul class="summary">
132
-
133
- <li class="public ">
134
- <span class="summary_signature">
135
-
136
- <a href="#prepended-class_method" title="prepended (class method)">.<strong>prepended</strong>(base) &#x21d2; Object </a>
137
-
138
-
139
-
140
- </span>
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
101
+ <span class='kw'>end</span></code></pre>
102
+
103
+ </div>
104
+
105
+
106
+ </div><h2>Defined Under Namespace</h2>
107
+ <p class="children">
108
+
109
+
110
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Actions/ClassMethods.html" title="Utopia::Controller::Actions::ClassMethods (module)">ClassMethods</a></span>
111
+
112
+
113
+
114
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Actions/Action.html" title="Utopia::Controller::Actions::Action (class)">Action</a></span>
115
+
116
+
117
+ </p>
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+ <h2>
127
+ Class Method Summary
128
+ <small><a href="#" class="summary_toggle">collapse</a></small>
129
+ </h2>
130
+
131
+ <ul class="summary">
132
+
133
+ <li class="public ">
134
+ <span class="summary_signature">
135
+
136
+ <a href="#prepended-class_method" title="prepended (class method)">.<strong>prepended</strong>(base) &#x21d2; Object </a>
137
+
138
+
139
+
140
+ </span>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+
150
150
  <span class="summary_desc"><div class='inline'>
151
- </div></span>
152
-
153
- </li>
154
-
155
-
156
- </ul>
157
-
158
- <h2>
159
- Instance Method Summary
160
- <small><a href="#" class="summary_toggle">collapse</a></small>
161
- </h2>
162
-
163
- <ul class="summary">
164
-
165
- <li class="public ">
166
- <span class="summary_signature">
167
-
168
- <a href="#process!-instance_method" title="#process! (instance method)">#<strong>process!</strong>(request, path) &#x21d2; Object </a>
169
-
170
-
171
-
172
- </span>
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
151
+ </div></span>
152
+
153
+ </li>
154
+
155
+
156
+ </ul>
157
+
158
+ <h2>
159
+ Instance Method Summary
160
+ <small><a href="#" class="summary_toggle">collapse</a></small>
161
+ </h2>
162
+
163
+ <ul class="summary">
164
+
165
+ <li class="public ">
166
+ <span class="summary_signature">
167
+
168
+ <a href="#process!-instance_method" title="#process! (instance method)">#<strong>process!</strong>(request, path) &#x21d2; Object </a>
169
+
170
+
171
+
172
+ </span>
173
+
174
+
175
+
176
+
177
+
178
+
179
+
180
+
181
+
182
182
  <span class="summary_desc"><div class='inline'><p>Invoke all matching actions.</p>
183
- </div></span>
184
-
185
- </li>
186
-
187
-
188
- </ul>
189
-
190
-
191
-
192
-
193
- <div id="class_method_details" class="method_details_list">
194
- <h2>Class Method Details</h2>
195
-
196
-
197
- <div class="method_details first">
198
- <h3 class="signature first" id="prepended-class_method">
199
-
200
- .<strong>prepended</strong>(base) &#x21d2; <tt>Object</tt>
201
-
202
-
203
-
204
-
205
-
206
- </h3><table class="source_code">
207
- <tr>
208
- <td>
183
+ </div></span>
184
+
185
+ </li>
186
+
187
+
188
+ </ul>
189
+
190
+
191
+
192
+
193
+ <div id="class_method_details" class="method_details_list">
194
+ <h2>Class Method Details</h2>
195
+
196
+
197
+ <div class="method_details first">
198
+ <h3 class="signature first" id="prepended-class_method">
199
+
200
+ .<strong>prepended</strong>(base) &#x21d2; <tt>Object</tt>
201
+
202
+
203
+
204
+
205
+
206
+ </h3><table class="source_code">
207
+ <tr>
208
+ <td>
209
209
  <pre class="lines">
210
210
 
211
211
 
212
212
  31
213
213
  32
214
- 33</pre>
215
- </td>
216
- <td>
214
+ 33</pre>
215
+ </td>
216
+ <td>
217
217
  <pre class="code"><span class="info file"># File 'lib/utopia/controller/actions.rb', line 31</span>
218
218
 
219
219
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_prepended'>prepended</span><span class='lparen'>(</span><span class='id identifier rubyid_base'>base</span><span class='rparen'>)</span>
220
220
  <span class='id identifier rubyid_base'>base</span><span class='period'>.</span><span class='id identifier rubyid_extend'>extend</span><span class='lparen'>(</span><span class='const'><span class='object_link'><a href="Actions/ClassMethods.html" title="Utopia::Controller::Actions::ClassMethods (module)">ClassMethods</a></span></span><span class='rparen'>)</span>
221
- <span class='kw'>end</span></pre>
222
- </td>
223
- </tr>
224
- </table>
225
- </div>
226
-
227
- </div>
228
-
229
- <div id="instance_method_details" class="method_details_list">
230
- <h2>Instance Method Details</h2>
231
-
232
-
233
- <div class="method_details first">
234
- <h3 class="signature first" id="process!-instance_method">
235
-
236
- #<strong>process!</strong>(request, path) &#x21d2; <tt>Object</tt>
237
-
238
-
239
-
240
-
241
-
242
- </h3><div class="docstring">
243
- <div class="discussion">
221
+ <span class='kw'>end</span></pre>
222
+ </td>
223
+ </tr>
224
+ </table>
225
+ </div>
226
+
227
+ </div>
228
+
229
+ <div id="instance_method_details" class="method_details_list">
230
+ <h2>Instance Method Details</h2>
231
+
232
+
233
+ <div class="method_details first">
234
+ <h3 class="signature first" id="process!-instance_method">
235
+
236
+ #<strong>process!</strong>(request, path) &#x21d2; <tt>Object</tt>
237
+
238
+
239
+
240
+
241
+
242
+ </h3><div class="docstring">
243
+ <div class="discussion">
244
244
  <p>Invoke all matching actions. If no actions match, will call otherwise. If no action gives a response, the request is passed to super.</p>
245
-
246
-
247
- </div>
248
- </div>
249
- <div class="tags">
250
-
251
-
252
- </div><table class="source_code">
253
- <tr>
254
- <td>
245
+
246
+
247
+ </div>
248
+ </div>
249
+ <div class="tags">
250
+
251
+
252
+ </div><table class="source_code">
253
+ <tr>
254
+ <td>
255
255
  <pre class="lines">
256
256
 
257
257
 
@@ -259,31 +259,31 @@
259
259
  164
260
260
  165
261
261
  166
262
- 167</pre>
263
- </td>
264
- <td>
262
+ 167</pre>
263
+ </td>
264
+ <td>
265
265
  <pre class="code"><span class="info file"># File 'lib/utopia/controller/actions.rb', line 163</span>
266
266
 
267
267
  <span class='kw'>def</span> <span class='id identifier rubyid_process!'>process!</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
268
268
  <span class='id identifier rubyid_catch_response'>catch_response</span> <span class='kw'>do</span>
269
269
  <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_dispatch'>dispatch</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='id identifier rubyid_request'>request</span><span class='comma'>,</span> <span class='id identifier rubyid_path'>path</span><span class='rparen'>)</span>
270
270
  <span class='kw'>end</span> <span class='op'>||</span> <span class='kw'>super</span>
271
- <span class='kw'>end</span></pre>
272
- </td>
273
- </tr>
274
- </table>
275
- </div>
276
-
277
- </div>
278
-
279
- </div>
280
-
281
- <div id="footer">
282
- Generated on Sat Mar 24 21:17:19 2018 by
283
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
284
- 0.9.12 (ruby-2.5.0).
285
- </div>
286
-
287
- </div>
288
- </body>
271
+ <span class='kw'>end</span></pre>
272
+ </td>
273
+ </tr>
274
+ </table>
275
+ </div>
276
+
277
+ </div>
278
+
279
+ </div>
280
+
281
+ <div id="footer">
282
+ Generated on Sat Mar 9 12:01:52 2019 by
283
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
284
+ 0.9.18 (ruby-2.6.1).
285
+ </div>
286
+
287
+ </div>
288
+ </body>
289
289
  </html>