ballast 1.9.3 → 2.0.0
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 +4 -4
- data/.rubocop.yml +35 -0
- data/.travis-gemfile +4 -5
- data/.travis.yml +3 -2
- data/CHANGELOG.md +62 -6
- data/Gemfile +7 -8
- data/README.md +2 -2
- data/ballast.gemspec +9 -12
- data/doc/Ballast/AjaxResponse.html +1380 -0
- data/doc/Ballast/Concerns/AjaxHandling.html +662 -0
- data/doc/Ballast/Concerns/Common.html +81 -361
- data/doc/Ballast/Concerns/ErrorsHandling.html +18 -36
- data/doc/Ballast/Concerns/View.html +181 -157
- data/doc/Ballast/Concerns.html +6 -6
- data/doc/Ballast/Configuration.html +204 -31
- data/doc/Ballast/Emoji/Character.html +411 -0
- data/doc/Ballast/Emoji/Utils.html +794 -0
- data/doc/Ballast/Emoji.html +125 -0
- data/doc/Ballast/Errors/{BaseError.html → Base.html} +61 -34
- data/doc/Ballast/Errors/{PerformError.html → Failure.html} +21 -17
- data/doc/Ballast/Errors/InvalidDomain.html +11 -11
- data/doc/Ballast/Errors/{ValidationError.html → ValidationFailure.html} +24 -16
- data/doc/Ballast/Errors.html +5 -5
- data/doc/Ballast/Middlewares/DefaultHost.html +6 -6
- data/doc/Ballast/Middlewares.html +4 -4
- data/doc/Ballast/RequestDomainMatcher.html +28 -28
- data/doc/Ballast/Service/Response.html +1243 -0
- data/doc/Ballast/Service.html +1314 -0
- data/doc/Ballast/Version.html +7 -7
- data/doc/Ballast.html +15 -15
- data/doc/_index.html +59 -30
- data/doc/class_list.html +6 -2
- data/doc/css/style.css +1 -0
- data/doc/file.README.html +6 -6
- data/doc/file_list.html +5 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +6 -6
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +167 -79
- data/doc/top-level-namespace.html +41 -4
- data/lib/ballast/ajax_response.rb +76 -0
- data/lib/ballast/concerns/ajax_handling.rb +73 -0
- data/lib/ballast/concerns/common.rb +25 -47
- data/lib/ballast/concerns/errors_handling.rb +21 -30
- data/lib/ballast/concerns/view.rb +24 -22
- data/lib/ballast/configuration.rb +30 -10
- data/lib/ballast/emoji.rb +114 -0
- data/lib/ballast/errors.rb +16 -13
- data/lib/ballast/middlewares/default_host.rb +3 -3
- data/lib/ballast/request_domain_matcher.rb +7 -7
- data/lib/ballast/service.rb +147 -0
- data/lib/ballast/version.rb +3 -3
- data/lib/ballast.rb +22 -22
- data/spec/ballast/ajax_response_spec.rb +61 -0
- data/spec/ballast/concerns/ajax_handling_spec.rb +86 -0
- data/spec/ballast/concerns/common_spec.rb +17 -52
- data/spec/ballast/concerns/errors_handling_spec.rb +35 -29
- data/spec/ballast/concerns/view_spec.rb +21 -32
- data/spec/ballast/configuration_spec.rb +66 -16
- data/spec/ballast/emoji_spec.rb +103 -0
- data/spec/ballast/errors_spec.rb +5 -5
- data/spec/ballast/middlewares/default_host_spec.rb +3 -5
- data/spec/ballast/request_domain_matcher_spec.rb +4 -4
- data/spec/ballast/service_spec.rb +137 -0
- data/spec/spec_helper.rb +1 -13
- metadata +42 -80
- data/doc/Ballast/Concerns/Ajax.html +0 -945
- data/doc/Ballast/Context.html +0 -417
- data/doc/Ballast/Operation.html +0 -1304
- data/doc/Ballast/OperationsChain.html +0 -597
- data/lib/ballast/concerns/ajax.rb +0 -134
- data/lib/ballast/context.rb +0 -38
- data/lib/ballast/operation.rb +0 -136
- data/lib/ballast/operations_chain.rb +0 -45
- data/spec/ballast/concerns/ajax_spec.rb +0 -141
- data/spec/ballast/context_spec.rb +0 -23
- data/spec/ballast/operation_spec.rb +0 -177
- data/spec/ballast/operations_chain_spec.rb +0 -61
@@ -0,0 +1,662 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Module: Ballast::Concerns::AjaxHandling
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.7.6
|
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
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../../';
|
20
|
+
framesUrl = "../../frames.html#!Ballast/Concerns/AjaxHandling.html";
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../../_index.html">Index (A)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Ballast.html" title="Ballast (module)">Ballast</a></span></span> » <span class='title'><span class='object_link'><a href="../Concerns.html" title="Ballast::Concerns (module)">Concerns</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">AjaxHandling</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Module: Ballast::Concerns::AjaxHandling
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
<dt class="r1">Extended by:</dt>
|
77
|
+
<dd class="r1">ActiveSupport::Concern</dd>
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
<dt class="r2 last">Defined in:</dt>
|
86
|
+
<dd class="r2 last">lib/ballast/concerns/ajax_handling.rb</dd>
|
87
|
+
|
88
|
+
</dl>
|
89
|
+
<div class="clear"></div>
|
90
|
+
|
91
|
+
<h2>Overview</h2><div class="docstring">
|
92
|
+
<div class="discussion">
|
93
|
+
<p>A concern to handle AJAX and HTTP requests.</p>
|
94
|
+
|
95
|
+
|
96
|
+
</div>
|
97
|
+
</div>
|
98
|
+
<div class="tags">
|
99
|
+
|
100
|
+
|
101
|
+
</div>
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
<h2>
|
110
|
+
Instance Method Summary
|
111
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
112
|
+
</h2>
|
113
|
+
|
114
|
+
<ul class="summary">
|
115
|
+
|
116
|
+
<li class="public ">
|
117
|
+
<span class="summary_signature">
|
118
|
+
|
119
|
+
<a href="#ajax_request%3F-instance_method" title="#ajax_request? (instance method)">- (Boolean) <strong>ajax_request?</strong> </a>
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
</span>
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
<span class="summary_desc"><div class='inline'><p>Checks if the current request is AJAX.</p>
|
134
|
+
</div></span>
|
135
|
+
|
136
|
+
</li>
|
137
|
+
|
138
|
+
|
139
|
+
<li class="public ">
|
140
|
+
<span class="summary_signature">
|
141
|
+
|
142
|
+
<a href="#allow_cors-instance_method" title="#allow_cors (instance method)">- (Object) <strong>allow_cors</strong>(allow_origin: "*", allow_methods: [:post, :get, :options], allow_headers: "*", max_age: 1.year, allow_credentials: false) </a>
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
</span>
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
<span class="summary_desc"><div class='inline'><p>Allows HTTP Cross-Origin Resource Sharing.</p>
|
157
|
+
</div></span>
|
158
|
+
|
159
|
+
</li>
|
160
|
+
|
161
|
+
|
162
|
+
<li class="public ">
|
163
|
+
<span class="summary_signature">
|
164
|
+
|
165
|
+
<a href="#generate_robots_txt-instance_method" title="#generate_robots_txt (instance method)">- (Object) <strong>generate_robots_txt</strong>(configuration = nil) </a>
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
(also: #disallow_robots)
|
170
|
+
|
171
|
+
</span>
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
<span class="summary_desc"><div class='inline'><p>Generates a `robots.txt file.</p>
|
182
|
+
</div></span>
|
183
|
+
|
184
|
+
</li>
|
185
|
+
|
186
|
+
|
187
|
+
<li class="public ">
|
188
|
+
<span class="summary_signature">
|
189
|
+
|
190
|
+
<a href="#prepare_ajax_response-instance_method" title="#prepare_ajax_response (instance method)">- (Object) <strong>prepare_ajax_response</strong>(status: :ok, data: {}, error: nil) </a>
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
</span>
|
195
|
+
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
<span class="summary_desc"><div class='inline'><p>Prepares an AJAX response.</p>
|
205
|
+
</div></span>
|
206
|
+
|
207
|
+
</li>
|
208
|
+
|
209
|
+
|
210
|
+
<li class="public ">
|
211
|
+
<span class="summary_signature">
|
212
|
+
|
213
|
+
<a href="#prevent_caching-instance_method" title="#prevent_caching (instance method)">- (Object) <strong>prevent_caching</strong> </a>
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
</span>
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
<span class="summary_desc"><div class='inline'><p>Prevents HTTP caching.</p>
|
228
|
+
</div></span>
|
229
|
+
|
230
|
+
</li>
|
231
|
+
|
232
|
+
|
233
|
+
</ul>
|
234
|
+
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
<div id="instance_method_details" class="method_details_list">
|
240
|
+
<h2>Instance Method Details</h2>
|
241
|
+
|
242
|
+
|
243
|
+
<div class="method_details first">
|
244
|
+
<h3 class="signature first" id="ajax_request?-instance_method">
|
245
|
+
|
246
|
+
- (<tt>Boolean</tt>) <strong>ajax_request?</strong>
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
</h3><div class="docstring">
|
253
|
+
<div class="discussion">
|
254
|
+
<p>Checks if the current request is AJAX.</p>
|
255
|
+
|
256
|
+
|
257
|
+
</div>
|
258
|
+
</div>
|
259
|
+
<div class="tags">
|
260
|
+
|
261
|
+
<p class="tag_title">Returns:</p>
|
262
|
+
<ul class="return">
|
263
|
+
|
264
|
+
<li>
|
265
|
+
|
266
|
+
|
267
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
268
|
+
|
269
|
+
|
270
|
+
|
271
|
+
—
|
272
|
+
<div class='inline'><p><code>true</code> if the request is AJAX, <code>false</code> otherwise.</p>
|
273
|
+
</div>
|
274
|
+
|
275
|
+
</li>
|
276
|
+
|
277
|
+
</ul>
|
278
|
+
|
279
|
+
</div><table class="source_code">
|
280
|
+
<tr>
|
281
|
+
<td>
|
282
|
+
<pre class="lines">
|
283
|
+
|
284
|
+
|
285
|
+
16
|
286
|
+
17
|
287
|
+
18</pre>
|
288
|
+
</td>
|
289
|
+
<td>
|
290
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax_handling.rb', line 16</span>
|
291
|
+
|
292
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_ajax_request?'>ajax_request?</span>
|
293
|
+
<span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_safe_send'>safe_send</span><span class='lparen'>(</span><span class='symbol'>:xhr?</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span> <span class='op'>||</span> <span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:xhr</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_to_boolean'>to_boolean</span>
|
294
|
+
<span class='kw'>end</span></pre>
|
295
|
+
</td>
|
296
|
+
</tr>
|
297
|
+
</table>
|
298
|
+
</div>
|
299
|
+
|
300
|
+
<div class="method_details ">
|
301
|
+
<h3 class="signature " id="allow_cors-instance_method">
|
302
|
+
|
303
|
+
- (<tt>Object</tt>) <strong>allow_cors</strong>(allow_origin: "*", allow_methods: [:post, :get, :options], allow_headers: "*", max_age: 1.year, allow_credentials: false)
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
</h3><div class="docstring">
|
310
|
+
<div class="discussion">
|
311
|
+
<p>Allows HTTP Cross-Origin Resource Sharing.</p>
|
312
|
+
|
313
|
+
|
314
|
+
</div>
|
315
|
+
</div>
|
316
|
+
<div class="tags">
|
317
|
+
<p class="tag_title">Parameters:</p>
|
318
|
+
<ul class="param">
|
319
|
+
|
320
|
+
<li>
|
321
|
+
|
322
|
+
<span class='name'>allow_origin</span>
|
323
|
+
|
324
|
+
|
325
|
+
<span class='type'>(<tt>String</tt>)</span>
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
—
|
330
|
+
<div class='inline'><p>The value for the <code>Access-Control-Allow-Origin</code> header.</p>
|
331
|
+
</div>
|
332
|
+
|
333
|
+
</li>
|
334
|
+
|
335
|
+
<li>
|
336
|
+
|
337
|
+
<span class='name'>allow_methods</span>
|
338
|
+
|
339
|
+
|
340
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
—
|
345
|
+
<div class='inline'><p>A list of methods for the <code>Access-Control-Allow-Methods</code> header.</p>
|
346
|
+
</div>
|
347
|
+
|
348
|
+
</li>
|
349
|
+
|
350
|
+
<li>
|
351
|
+
|
352
|
+
<span class='name'>allow_headers</span>
|
353
|
+
|
354
|
+
|
355
|
+
<span class='type'>(<tt>String</tt>)</span>
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
—
|
360
|
+
<div class='inline'><p>The value for the <code>Access-Control-Allow-Headers</code> header.</p>
|
361
|
+
</div>
|
362
|
+
|
363
|
+
</li>
|
364
|
+
|
365
|
+
<li>
|
366
|
+
|
367
|
+
<span class='name'>max_age</span>
|
368
|
+
|
369
|
+
|
370
|
+
<span class='type'>(<tt>Float|Fixnum</tt>)</span>
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
—
|
375
|
+
<div class='inline'><p>The value for the <code>Access-Control-Max-Age</code> header.</p>
|
376
|
+
</div>
|
377
|
+
|
378
|
+
</li>
|
379
|
+
|
380
|
+
<li>
|
381
|
+
|
382
|
+
<span class='name'>allow_credentials</span>
|
383
|
+
|
384
|
+
|
385
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
386
|
+
|
387
|
+
|
388
|
+
|
389
|
+
—
|
390
|
+
<div class='inline'><p>The value for the <code>Access-Control-Allow-Credentials</code> header.</p>
|
391
|
+
</div>
|
392
|
+
|
393
|
+
</li>
|
394
|
+
|
395
|
+
</ul>
|
396
|
+
|
397
|
+
|
398
|
+
</div><table class="source_code">
|
399
|
+
<tr>
|
400
|
+
<td>
|
401
|
+
<pre class="lines">
|
402
|
+
|
403
|
+
|
404
|
+
45
|
405
|
+
46
|
406
|
+
47
|
407
|
+
48
|
408
|
+
49
|
409
|
+
50
|
410
|
+
51
|
411
|
+
52
|
412
|
+
53
|
413
|
+
54</pre>
|
414
|
+
</td>
|
415
|
+
<td>
|
416
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax_handling.rb', line 45</span>
|
417
|
+
|
418
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_allow_cors'>allow_cors</span><span class='lparen'>(</span><span class='label'>allow_origin:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='label'>allow_methods:</span> <span class='lbracket'>[</span><span class='symbol'>:post</span><span class='comma'>,</span> <span class='symbol'>:get</span><span class='comma'>,</span> <span class='symbol'>:options</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='label'>allow_headers:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='label'>max_age:</span> <span class='int'>1</span><span class='period'>.</span><span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='label'>allow_credentials:</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
419
|
+
<span class='id identifier rubyid_headers'>headers</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
420
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access-Control-Allow-Origin</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_allow_origin'>allow_origin</span><span class='comma'>,</span>
|
421
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access-Control-Allow-Methods</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_allow_methods'>allow_methods</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_m'>m</span><span class='op'>|</span> <span class='id identifier rubyid_m'>m</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='comma'>,</span>
|
422
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access-Control-Allow-Headers</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_allow_headers'>allow_headers</span><span class='comma'>,</span>
|
423
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access-Control-Max-Age</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_max_age'>max_age</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
424
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
425
|
+
|
426
|
+
<span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Access-Control-Allow-Credentials</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>true</span><span class='tstring_end'>"</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_allow_credentials'>allow_credentials</span>
|
427
|
+
<span class='kw'>end</span></pre>
|
428
|
+
</td>
|
429
|
+
</tr>
|
430
|
+
</table>
|
431
|
+
</div>
|
432
|
+
|
433
|
+
<div class="method_details ">
|
434
|
+
<h3 class="signature " id="generate_robots_txt-instance_method">
|
435
|
+
|
436
|
+
- (<tt>Object</tt>) <strong>generate_robots_txt</strong>(configuration = nil)
|
437
|
+
|
438
|
+
|
439
|
+
|
440
|
+
<span class="aliases">Also known as:
|
441
|
+
<span class="names"><span id='disallow_robots-instance_method'>disallow_robots</span></span>
|
442
|
+
</span>
|
443
|
+
|
444
|
+
|
445
|
+
|
446
|
+
</h3><div class="docstring">
|
447
|
+
<div class="discussion">
|
448
|
+
<p>Generates a `robots.txt file.</p>
|
449
|
+
|
450
|
+
|
451
|
+
</div>
|
452
|
+
</div>
|
453
|
+
<div class="tags">
|
454
|
+
<p class="tag_title">Parameters:</p>
|
455
|
+
<ul class="param">
|
456
|
+
|
457
|
+
<li>
|
458
|
+
|
459
|
+
<span class='name'>configuration</span>
|
460
|
+
|
461
|
+
|
462
|
+
<span class='type'>(<tt>Hash|NilClass</tt>)</span>
|
463
|
+
|
464
|
+
|
465
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
466
|
+
|
467
|
+
|
468
|
+
—
|
469
|
+
<div class='inline'><p>An hash of agent and list of paths to include.</p>
|
470
|
+
</div>
|
471
|
+
|
472
|
+
</li>
|
473
|
+
|
474
|
+
</ul>
|
475
|
+
|
476
|
+
|
477
|
+
</div><table class="source_code">
|
478
|
+
<tr>
|
479
|
+
<td>
|
480
|
+
<pre class="lines">
|
481
|
+
|
482
|
+
|
483
|
+
59
|
484
|
+
60
|
485
|
+
61
|
486
|
+
62
|
487
|
+
63
|
488
|
+
64
|
489
|
+
65
|
490
|
+
66
|
491
|
+
67
|
492
|
+
68
|
493
|
+
69</pre>
|
494
|
+
</td>
|
495
|
+
<td>
|
496
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax_handling.rb', line 59</span>
|
497
|
+
|
498
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_generate_robots_txt'>generate_robots_txt</span><span class='lparen'>(</span><span class='id identifier rubyid_configuration'>configuration</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
499
|
+
<span class='id identifier rubyid_configuration'>configuration</span> <span class='op'>||=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>*</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span>
|
500
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_configuration'>configuration</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_accu'>accu</span><span class='comma'>,</span> <span class='lparen'>(</span><span class='id identifier rubyid_agent'>agent</span><span class='comma'>,</span> <span class='id identifier rubyid_paths'>paths</span><span class='rparen'>)</span><span class='op'>|</span>
|
501
|
+
<span class='id identifier rubyid_paths'>paths</span> <span class='op'>=</span> <span class='id identifier rubyid_paths'>paths</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='period'>.</span><span class='id identifier rubyid_map'>map</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Disallow: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span> <span class='rbrace'>}</span>
|
502
|
+
|
503
|
+
<span class='id identifier rubyid_accu'>accu</span> <span class='op'><<</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>User-agent: </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_agent'>agent</span><span class='embexpr_end'>}</span><span class='tstring_content'>\n</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_paths'>paths</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span>
|
504
|
+
<span class='id identifier rubyid_accu'>accu</span>
|
505
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\n\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
506
|
+
|
507
|
+
<span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='label'>text:</span> <span class='id identifier rubyid_rv'>rv</span><span class='comma'>,</span> <span class='label'>content_type:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
508
|
+
<span class='kw'>end</span></pre>
|
509
|
+
</td>
|
510
|
+
</tr>
|
511
|
+
</table>
|
512
|
+
</div>
|
513
|
+
|
514
|
+
<div class="method_details ">
|
515
|
+
<h3 class="signature " id="prepare_ajax_response-instance_method">
|
516
|
+
|
517
|
+
- (<tt>Object</tt>) <strong>prepare_ajax_response</strong>(status: :ok, data: {}, error: nil)
|
518
|
+
|
519
|
+
|
520
|
+
|
521
|
+
|
522
|
+
|
523
|
+
</h3><div class="docstring">
|
524
|
+
<div class="discussion">
|
525
|
+
<p>Prepares an AJAX response.</p>
|
526
|
+
|
527
|
+
|
528
|
+
</div>
|
529
|
+
</div>
|
530
|
+
<div class="tags">
|
531
|
+
<p class="tag_title">Parameters:</p>
|
532
|
+
<ul class="param">
|
533
|
+
|
534
|
+
<li>
|
535
|
+
|
536
|
+
<span class='name'>status</span>
|
537
|
+
|
538
|
+
|
539
|
+
<span class='type'>(<tt>Symbol|Fixnum</tt>)</span>
|
540
|
+
|
541
|
+
|
542
|
+
|
543
|
+
—
|
544
|
+
<div class='inline'><p>The HTTP status of the response.</p>
|
545
|
+
</div>
|
546
|
+
|
547
|
+
</li>
|
548
|
+
|
549
|
+
<li>
|
550
|
+
|
551
|
+
<span class='name'>data</span>
|
552
|
+
|
553
|
+
|
554
|
+
<span class='type'>(<tt>Object</tt>)</span>
|
555
|
+
|
556
|
+
|
557
|
+
|
558
|
+
—
|
559
|
+
<div class='inline'><p>The data of the response.</p>
|
560
|
+
</div>
|
561
|
+
|
562
|
+
</li>
|
563
|
+
|
564
|
+
<li>
|
565
|
+
|
566
|
+
<span class='name'>error</span>
|
567
|
+
|
568
|
+
|
569
|
+
<span class='type'>(<tt>Object|NilClass</tt>)</span>
|
570
|
+
|
571
|
+
|
572
|
+
|
573
|
+
—
|
574
|
+
<div class='inline'><p>The error of the response.</p>
|
575
|
+
</div>
|
576
|
+
|
577
|
+
</li>
|
578
|
+
|
579
|
+
</ul>
|
580
|
+
|
581
|
+
|
582
|
+
</div><table class="source_code">
|
583
|
+
<tr>
|
584
|
+
<td>
|
585
|
+
<pre class="lines">
|
586
|
+
|
587
|
+
|
588
|
+
25
|
589
|
+
26
|
590
|
+
27</pre>
|
591
|
+
</td>
|
592
|
+
<td>
|
593
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax_handling.rb', line 25</span>
|
594
|
+
|
595
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_prepare_ajax_response'>prepare_ajax_response</span><span class='lparen'>(</span><span class='label'>status:</span> <span class='symbol'>:ok</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
596
|
+
<span class='const'>Ballast</span><span class='op'>::</span><span class='const'>AjaxResponse</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='label'>status:</span> <span class='id identifier rubyid_status'>status</span><span class='comma'>,</span> <span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>self</span><span class='rparen'>)</span>
|
597
|
+
<span class='kw'>end</span></pre>
|
598
|
+
</td>
|
599
|
+
</tr>
|
600
|
+
</table>
|
601
|
+
</div>
|
602
|
+
|
603
|
+
<div class="method_details ">
|
604
|
+
<h3 class="signature " id="prevent_caching-instance_method">
|
605
|
+
|
606
|
+
- (<tt>Object</tt>) <strong>prevent_caching</strong>
|
607
|
+
|
608
|
+
|
609
|
+
|
610
|
+
|
611
|
+
|
612
|
+
</h3><div class="docstring">
|
613
|
+
<div class="discussion">
|
614
|
+
<p>Prevents HTTP caching.</p>
|
615
|
+
|
616
|
+
|
617
|
+
</div>
|
618
|
+
</div>
|
619
|
+
<div class="tags">
|
620
|
+
|
621
|
+
|
622
|
+
</div><table class="source_code">
|
623
|
+
<tr>
|
624
|
+
<td>
|
625
|
+
<pre class="lines">
|
626
|
+
|
627
|
+
|
628
|
+
30
|
629
|
+
31
|
630
|
+
32
|
631
|
+
33
|
632
|
+
34
|
633
|
+
35
|
634
|
+
36</pre>
|
635
|
+
</td>
|
636
|
+
<td>
|
637
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax_handling.rb', line 30</span>
|
638
|
+
|
639
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_prevent_caching'>prevent_caching</span>
|
640
|
+
<span class='id identifier rubyid_response'>response</span><span class='period'>.</span><span class='id identifier rubyid_headers'>headers</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='lbrace'>{</span>
|
641
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cache-Control</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>no-cache, no-store, max-age=0, must-revalidate</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
642
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Pragma</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>no-cache</span><span class='tstring_end'>"</span></span><span class='comma'>,</span>
|
643
|
+
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Expires</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Fri, 01 Jan 1990 00:00:00 GMT</span><span class='tstring_end'>"</span></span>
|
644
|
+
<span class='rbrace'>}</span><span class='rparen'>)</span>
|
645
|
+
<span class='kw'>end</span></pre>
|
646
|
+
</td>
|
647
|
+
</tr>
|
648
|
+
</table>
|
649
|
+
</div>
|
650
|
+
|
651
|
+
</div>
|
652
|
+
|
653
|
+
</div>
|
654
|
+
|
655
|
+
<div id="footer">
|
656
|
+
Generated on Sun Nov 2 09:40:00 2014 by
|
657
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
658
|
+
0.8.7.6 (ruby-2.1.3).
|
659
|
+
</div>
|
660
|
+
|
661
|
+
</body>
|
662
|
+
</html>
|