ballast 1.9.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +35 -0
  3. data/.travis-gemfile +4 -5
  4. data/.travis.yml +3 -2
  5. data/CHANGELOG.md +62 -6
  6. data/Gemfile +7 -8
  7. data/README.md +2 -2
  8. data/ballast.gemspec +9 -12
  9. data/doc/Ballast/AjaxResponse.html +1380 -0
  10. data/doc/Ballast/Concerns/AjaxHandling.html +662 -0
  11. data/doc/Ballast/Concerns/Common.html +81 -361
  12. data/doc/Ballast/Concerns/ErrorsHandling.html +18 -36
  13. data/doc/Ballast/Concerns/View.html +181 -157
  14. data/doc/Ballast/Concerns.html +6 -6
  15. data/doc/Ballast/Configuration.html +204 -31
  16. data/doc/Ballast/Emoji/Character.html +411 -0
  17. data/doc/Ballast/Emoji/Utils.html +794 -0
  18. data/doc/Ballast/Emoji.html +125 -0
  19. data/doc/Ballast/Errors/{BaseError.html → Base.html} +61 -34
  20. data/doc/Ballast/Errors/{PerformError.html → Failure.html} +21 -17
  21. data/doc/Ballast/Errors/InvalidDomain.html +11 -11
  22. data/doc/Ballast/Errors/{ValidationError.html → ValidationFailure.html} +24 -16
  23. data/doc/Ballast/Errors.html +5 -5
  24. data/doc/Ballast/Middlewares/DefaultHost.html +6 -6
  25. data/doc/Ballast/Middlewares.html +4 -4
  26. data/doc/Ballast/RequestDomainMatcher.html +28 -28
  27. data/doc/Ballast/Service/Response.html +1243 -0
  28. data/doc/Ballast/Service.html +1314 -0
  29. data/doc/Ballast/Version.html +7 -7
  30. data/doc/Ballast.html +15 -15
  31. data/doc/_index.html +59 -30
  32. data/doc/class_list.html +6 -2
  33. data/doc/css/style.css +1 -0
  34. data/doc/file.README.html +6 -6
  35. data/doc/file_list.html +5 -1
  36. data/doc/frames.html +1 -1
  37. data/doc/index.html +6 -6
  38. data/doc/js/full_list.js +4 -1
  39. data/doc/method_list.html +167 -79
  40. data/doc/top-level-namespace.html +41 -4
  41. data/lib/ballast/ajax_response.rb +76 -0
  42. data/lib/ballast/concerns/ajax_handling.rb +73 -0
  43. data/lib/ballast/concerns/common.rb +25 -47
  44. data/lib/ballast/concerns/errors_handling.rb +21 -30
  45. data/lib/ballast/concerns/view.rb +24 -22
  46. data/lib/ballast/configuration.rb +30 -10
  47. data/lib/ballast/emoji.rb +114 -0
  48. data/lib/ballast/errors.rb +16 -13
  49. data/lib/ballast/middlewares/default_host.rb +3 -3
  50. data/lib/ballast/request_domain_matcher.rb +7 -7
  51. data/lib/ballast/service.rb +147 -0
  52. data/lib/ballast/version.rb +3 -3
  53. data/lib/ballast.rb +22 -22
  54. data/spec/ballast/ajax_response_spec.rb +61 -0
  55. data/spec/ballast/concerns/ajax_handling_spec.rb +86 -0
  56. data/spec/ballast/concerns/common_spec.rb +17 -52
  57. data/spec/ballast/concerns/errors_handling_spec.rb +35 -29
  58. data/spec/ballast/concerns/view_spec.rb +21 -32
  59. data/spec/ballast/configuration_spec.rb +66 -16
  60. data/spec/ballast/emoji_spec.rb +103 -0
  61. data/spec/ballast/errors_spec.rb +5 -5
  62. data/spec/ballast/middlewares/default_host_spec.rb +3 -5
  63. data/spec/ballast/request_domain_matcher_spec.rb +4 -4
  64. data/spec/ballast/service_spec.rb +137 -0
  65. data/spec/spec_helper.rb +1 -13
  66. metadata +42 -80
  67. data/doc/Ballast/Concerns/Ajax.html +0 -945
  68. data/doc/Ballast/Context.html +0 -417
  69. data/doc/Ballast/Operation.html +0 -1304
  70. data/doc/Ballast/OperationsChain.html +0 -597
  71. data/lib/ballast/concerns/ajax.rb +0 -134
  72. data/lib/ballast/context.rb +0 -38
  73. data/lib/ballast/operation.rb +0 -136
  74. data/lib/ballast/operations_chain.rb +0 -45
  75. data/spec/ballast/concerns/ajax_spec.rb +0 -141
  76. data/spec/ballast/context_spec.rb +0 -23
  77. data/spec/ballast/operation_spec.rb +0 -177
  78. data/spec/ballast/operations_chain_spec.rb +0 -61
@@ -1,945 +0,0 @@
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::Ajax
8
-
9
- &mdash; Documentation by YARD 0.8.7.3
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#!" + escape(window.location.href);
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> &raquo;
35
- <span class='title'><span class='object_link'><a href="../../Ballast.html" title="Ballast (module)">Ballast</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Concerns.html" title="Ballast::Concerns (module)">Concerns</a></span></span>
36
- &raquo;
37
- <span class="title">Ajax</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::Ajax
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.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="#allow_cors-instance_method" title="#allow_cors (instance method)">- (Object) <strong>allow_cors</strong>(allow_origin: &quot;*&quot;, allow_methods: [:post, :get, :options], allow_headers: &quot;*&quot;, max_age: 1.year, allow_credentials: false) </a>
120
-
121
-
122
-
123
- </span>
124
-
125
-
126
-
127
-
128
-
129
-
130
-
131
-
132
-
133
- <span class="summary_desc"><div class='inline'><p>Allows HTTP Cross-Origin Resource Sharing.</p>
134
- </div></span>
135
-
136
- </li>
137
-
138
-
139
- <li class="public ">
140
- <span class="summary_signature">
141
-
142
- <a href="#generate_robots_txt-instance_method" title="#generate_robots_txt (instance method)">- (Object) <strong>generate_robots_txt</strong>(configuration = nil) </a>
143
-
144
-
145
-
146
- (also: #disallow_robots)
147
-
148
- </span>
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
- <span class="summary_desc"><div class='inline'><p>Generates a robots.txt file.</p>
159
- </div></span>
160
-
161
- </li>
162
-
163
-
164
- <li class="public ">
165
- <span class="summary_signature">
166
-
167
- <a href="#is_ajax%3F-instance_method" title="#is_ajax? (instance method)">- (Boolean) <strong>is_ajax?</strong> </a>
168
-
169
-
170
-
171
- </span>
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
- <span class="summary_desc"><div class='inline'><p>Checks if the current request is AJAX.</p>
182
- </div></span>
183
-
184
- </li>
185
-
186
-
187
- <li class="public ">
188
- <span class="summary_signature">
189
-
190
- <a href="#prepare_ajax-instance_method" title="#prepare_ajax (instance method)">- (Object) <strong>prepare_ajax</strong>(status = :ok, data = nil, 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
- <li class="public ">
234
- <span class="summary_signature">
235
-
236
- <a href="#send_ajax-instance_method" title="#send_ajax (instance method)">- (Object) <strong>send_ajax</strong>(data, status: :ok, format: :json, pretty_json: false) </a>
237
-
238
-
239
-
240
- </span>
241
-
242
-
243
-
244
-
245
-
246
-
247
-
248
-
249
-
250
- <span class="summary_desc"><div class='inline'><p>Sends an AJAX response to the client.</p>
251
- </div></span>
252
-
253
- </li>
254
-
255
-
256
- <li class="public ">
257
- <span class="summary_signature">
258
-
259
- <a href="#update_ajax-instance_method" title="#update_ajax (instance method)">- (Hash) <strong>update_ajax</strong>(data, operation = nil) </a>
260
-
261
-
262
-
263
- </span>
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
-
273
- <span class="summary_desc"><div class='inline'><p>Updates an AJAX response from a operation, taking either the response data or the first error.</p>
274
- </div></span>
275
-
276
- </li>
277
-
278
-
279
- </ul>
280
-
281
-
282
-
283
-
284
-
285
- <div id="instance_method_details" class="method_details_list">
286
- <h2>Instance Method Details</h2>
287
-
288
-
289
- <div class="method_details first">
290
- <h3 class="signature first" id="allow_cors-instance_method">
291
-
292
- - (<tt>Object</tt>) <strong>allow_cors</strong>(allow_origin: &quot;*&quot;, allow_methods: [:post, :get, :options], allow_headers: &quot;*&quot;, max_age: 1.year, allow_credentials: false)
293
-
294
-
295
-
296
-
297
-
298
- </h3><div class="docstring">
299
- <div class="discussion">
300
- <p>Allows HTTP Cross-Origin Resource Sharing.</p>
301
-
302
-
303
- </div>
304
- </div>
305
- <div class="tags">
306
- <p class="tag_title">Parameters:</p>
307
- <ul class="param">
308
-
309
- <li>
310
-
311
- <span class='name'>allow_origin</span>
312
-
313
-
314
- <span class='type'>(<tt>String</tt>)</span>
315
-
316
-
317
-
318
- &mdash;
319
- <div class='inline'><p>The value for the <code>Access-Control-Allow-Origin</code> header.</p>
320
- </div>
321
-
322
- </li>
323
-
324
- <li>
325
-
326
- <span class='name'>allow_methods</span>
327
-
328
-
329
- <span class='type'>(<tt>Array</tt>)</span>
330
-
331
-
332
-
333
- &mdash;
334
- <div class='inline'><p>A list of methods for the <code>Access-Control-Allow-Methods</code> header.</p>
335
- </div>
336
-
337
- </li>
338
-
339
- <li>
340
-
341
- <span class='name'>allow_headers</span>
342
-
343
-
344
- <span class='type'>(<tt>String</tt>)</span>
345
-
346
-
347
-
348
- &mdash;
349
- <div class='inline'><p>The value for the <code>Access-Control-Allow-Headers</code> header.</p>
350
- </div>
351
-
352
- </li>
353
-
354
- <li>
355
-
356
- <span class='name'>max_age</span>
357
-
358
-
359
- <span class='type'>(<tt>Float|Fixnum</tt>)</span>
360
-
361
-
362
-
363
- &mdash;
364
- <div class='inline'><p>The value for the <code>Access-Control-Max-Age</code> header.</p>
365
- </div>
366
-
367
- </li>
368
-
369
- <li>
370
-
371
- <span class='name'>allow_credentials</span>
372
-
373
-
374
- <span class='type'>(<tt>Boolean</tt>)</span>
375
-
376
-
377
-
378
- &mdash;
379
- <div class='inline'><p>The value for the <code>Access-Control-Allow-Credentials</code> header.</p>
380
- </div>
381
-
382
- </li>
383
-
384
- </ul>
385
-
386
-
387
- </div><table class="source_code">
388
- <tr>
389
- <td>
390
- <pre class="lines">
391
-
392
-
393
- 82
394
- 83
395
- 84
396
- 85
397
- 86
398
- 87
399
- 88
400
- 89
401
- 90
402
- 91</pre>
403
- </td>
404
- <td>
405
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 82</span>
406
-
407
- <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'>&quot;</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</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>
408
- <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>
409
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access-Control-Allow-Origin</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_allow_origin'>allow_origin</span><span class='comma'>,</span>
410
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access-Control-Allow-Methods</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_allow_methods'>allow_methods</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</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'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
411
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access-Control-Allow-Headers</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_allow_headers'>allow_headers</span><span class='comma'>,</span>
412
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access-Control-Max-Age</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</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>
413
- <span class='rbrace'>}</span><span class='rparen'>)</span>
414
-
415
- <span class='id identifier rubyid_headers'>headers</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Access-Control-Allow-Credentials</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>true</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id identifier rubyid_allow_credentials'>allow_credentials</span>
416
- <span class='kw'>end</span></pre>
417
- </td>
418
- </tr>
419
- </table>
420
- </div>
421
-
422
- <div class="method_details ">
423
- <h3 class="signature " id="generate_robots_txt-instance_method">
424
-
425
- - (<tt>Object</tt>) <strong>generate_robots_txt</strong>(configuration = nil)
426
-
427
-
428
-
429
- <span class="aliases">Also known as:
430
- <span class="names"><span id='disallow_robots-instance_method'>disallow_robots</span></span>
431
- </span>
432
-
433
-
434
-
435
- </h3><div class="docstring">
436
- <div class="discussion">
437
- <p>Generates a robots.txt file.</p>
438
-
439
-
440
- </div>
441
- </div>
442
- <div class="tags">
443
- <p class="tag_title">Parameters:</p>
444
- <ul class="param">
445
-
446
- <li>
447
-
448
- <span class='name'>configuration</span>
449
-
450
-
451
- <span class='type'>(<tt>Array</tt>)</span>
452
-
453
-
454
- <em class="default">(defaults to: <tt>nil</tt>)</em>
455
-
456
-
457
- &mdash;
458
- <div class='inline'><p>An array of list of agent and paths to include.</p>
459
- </div>
460
-
461
- </li>
462
-
463
- </ul>
464
-
465
-
466
- </div><table class="source_code">
467
- <tr>
468
- <td>
469
- <pre class="lines">
470
-
471
-
472
- 96
473
- 97
474
- 98
475
- 99
476
- 100
477
- 101
478
- 102
479
- 103
480
- 104
481
- 105</pre>
482
- </td>
483
- <td>
484
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 96</span>
485
-
486
- <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>
487
- <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_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>*</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_entry'>entry</span><span class='op'>|</span>
488
- <span class='id identifier rubyid_agent'>agent</span> <span class='op'>=</span> <span class='id identifier rubyid_entry'>entry</span><span class='period'>.</span><span class='id identifier rubyid_shift'>shift</span>
489
- <span class='id identifier rubyid_paths'>paths</span> <span class='op'>=</span> <span class='id identifier rubyid_entry'>entry</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'>&quot;</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'>&quot;</span></span> <span class='rbrace'>}</span>
490
-
491
- <span class='tstring'><span class='tstring_beg'>&quot;</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'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
492
- <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'>&quot;</span><span class='tstring_content'>\n\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
493
-
494
- <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'>&quot;</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
495
- <span class='kw'>end</span></pre>
496
- </td>
497
- </tr>
498
- </table>
499
- </div>
500
-
501
- <div class="method_details ">
502
- <h3 class="signature " id="is_ajax?-instance_method">
503
-
504
- - (<tt>Boolean</tt>) <strong>is_ajax?</strong>
505
-
506
-
507
-
508
-
509
-
510
- </h3><div class="docstring">
511
- <div class="discussion">
512
- <p>Checks if the current request is AJAX.</p>
513
-
514
-
515
- </div>
516
- </div>
517
- <div class="tags">
518
-
519
- <p class="tag_title">Returns:</p>
520
- <ul class="return">
521
-
522
- <li>
523
-
524
-
525
- <span class='type'>(<tt>Boolean</tt>)</span>
526
-
527
-
528
-
529
- &mdash;
530
- <div class='inline'><p><code>true</code> if the request is AJAX, <code>false</code> otherwise.</p>
531
- </div>
532
-
533
- </li>
534
-
535
- </ul>
536
-
537
- </div><table class="source_code">
538
- <tr>
539
- <td>
540
- <pre class="lines">
541
-
542
-
543
- 16
544
- 17
545
- 18</pre>
546
- </td>
547
- <td>
548
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 16</span>
549
-
550
- <span class='kw'>def</span> <span class='id identifier rubyid_is_ajax?'>is_ajax?</span>
551
- <span class='lparen'>(</span><span class='lparen'>(</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:xhr?</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_xhr?'>xhr?</span><span class='rparen'>)</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><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
552
- <span class='kw'>end</span></pre>
553
- </td>
554
- </tr>
555
- </table>
556
- </div>
557
-
558
- <div class="method_details ">
559
- <h3 class="signature " id="prepare_ajax-instance_method">
560
-
561
- - (<tt>Object</tt>) <strong>prepare_ajax</strong>(status = :ok, data = nil, error = nil)
562
-
563
-
564
-
565
-
566
-
567
- </h3><div class="docstring">
568
- <div class="discussion">
569
- <p>Prepares an AJAX response.</p>
570
-
571
-
572
- </div>
573
- </div>
574
- <div class="tags">
575
- <p class="tag_title">Parameters:</p>
576
- <ul class="param">
577
-
578
- <li>
579
-
580
- <span class='name'>status</span>
581
-
582
-
583
- <span class='type'>(<tt>Symbol|Fixnum</tt>)</span>
584
-
585
-
586
- <em class="default">(defaults to: <tt>:ok</tt>)</em>
587
-
588
-
589
- &mdash;
590
- <div class='inline'><p>The HTTP status of the response.</p>
591
- </div>
592
-
593
- </li>
594
-
595
- <li>
596
-
597
- <span class='name'>data</span>
598
-
599
-
600
- <span class='type'>(<tt>Object</tt>)</span>
601
-
602
-
603
- <em class="default">(defaults to: <tt>nil</tt>)</em>
604
-
605
-
606
- &mdash;
607
- <div class='inline'><p>Additional data to append to the response.</p>
608
- </div>
609
-
610
- </li>
611
-
612
- <li>
613
-
614
- <span class='name'>error</span>
615
-
616
-
617
- <span class='type'>(<tt>Object</tt>)</span>
618
-
619
-
620
- <em class="default">(defaults to: <tt>nil</tt>)</em>
621
-
622
-
623
- &mdash;
624
- <div class='inline'><p>A error to append to the response.</p>
625
- </div>
626
-
627
- </li>
628
-
629
- </ul>
630
-
631
-
632
- </div><table class="source_code">
633
- <tr>
634
- <td>
635
- <pre class="lines">
636
-
637
-
638
- 25
639
- 26
640
- 27
641
- 28
642
- 29
643
- 30</pre>
644
- </td>
645
- <td>
646
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 25</span>
647
-
648
- <span class='kw'>def</span> <span class='id identifier rubyid_prepare_ajax'>prepare_ajax</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span> <span class='op'>=</span> <span class='symbol'>:ok</span><span class='comma'>,</span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
649
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='label'>status:</span> <span class='id identifier rubyid_status'>status</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_ensure_access'>ensure_access</span><span class='lparen'>(</span><span class='symbol'>:indifferent</span><span class='rparen'>)</span>
650
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='symbol'>:error</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span> <span class='kw'>if</span> <span class='id identifier rubyid_error'>error</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
651
- <span class='id identifier rubyid_rv'>rv</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span> <span class='kw'>if</span> <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
652
- <span class='id identifier rubyid_rv'>rv</span>
653
- <span class='kw'>end</span></pre>
654
- </td>
655
- </tr>
656
- </table>
657
- </div>
658
-
659
- <div class="method_details ">
660
- <h3 class="signature " id="prevent_caching-instance_method">
661
-
662
- - (<tt>Object</tt>) <strong>prevent_caching</strong>
663
-
664
-
665
-
666
-
667
-
668
- </h3><div class="docstring">
669
- <div class="discussion">
670
- <p>Prevents HTTP caching.</p>
671
-
672
-
673
- </div>
674
- </div>
675
- <div class="tags">
676
-
677
-
678
- </div><table class="source_code">
679
- <tr>
680
- <td>
681
- <pre class="lines">
682
-
683
-
684
- 67
685
- 68
686
- 69
687
- 70
688
- 71
689
- 72
690
- 73</pre>
691
- </td>
692
- <td>
693
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 67</span>
694
-
695
- <span class='kw'>def</span> <span class='id identifier rubyid_prevent_caching'>prevent_caching</span>
696
- <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>
697
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Cache-Control</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>no-cache, no-store, max-age=0, must-revalidate</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
698
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Pragma</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>no-cache</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span>
699
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Expires</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Fri, 01 Jan 1990 00:00:00 GMT</span><span class='tstring_end'>&quot;</span></span>
700
- <span class='rbrace'>}</span><span class='rparen'>)</span>
701
- <span class='kw'>end</span></pre>
702
- </td>
703
- </tr>
704
- </table>
705
- </div>
706
-
707
- <div class="method_details ">
708
- <h3 class="signature " id="send_ajax-instance_method">
709
-
710
- - (<tt>Object</tt>) <strong>send_ajax</strong>(data, status: :ok, format: :json, pretty_json: false)
711
-
712
-
713
-
714
-
715
-
716
- </h3><div class="docstring">
717
- <div class="discussion">
718
- <p>Sends an AJAX response to the client.</p>
719
-
720
-
721
- </div>
722
- </div>
723
- <div class="tags">
724
- <p class="tag_title">Parameters:</p>
725
- <ul class="param">
726
-
727
- <li>
728
-
729
- <span class='name'>data</span>
730
-
731
-
732
- <span class='type'>(<tt>Hash</tt>)</span>
733
-
734
-
735
-
736
- &mdash;
737
- <div class='inline'><p>The response to send.</p>
738
- </div>
739
-
740
- </li>
741
-
742
- <li>
743
-
744
- <span class='name'>status</span>
745
-
746
-
747
- <span class='type'>(<tt>Symbol|Fixnum</tt>)</span>
748
-
749
-
750
-
751
- &mdash;
752
- <div class='inline'><p>The HTTP status of the response, <em>ignored if already set in data</em>.</p>
753
- </div>
754
-
755
- </li>
756
-
757
- <li>
758
-
759
- <span class='name'>format</span>
760
-
761
-
762
- <span class='type'>(<tt>Symbol</tt>)</span>
763
-
764
-
765
-
766
- &mdash;
767
- <div class='inline'><p>The content type of the response.</p>
768
- </div>
769
-
770
- </li>
771
-
772
- <li>
773
-
774
- <span class='name'>pretty_json</span>
775
-
776
-
777
- <span class='type'>(<tt>Boolean</tt>)</span>
778
-
779
-
780
-
781
- &mdash;
782
- <div class='inline'><p>If JSON response must be pretty formatted.</p>
783
- </div>
784
-
785
- </li>
786
-
787
- </ul>
788
-
789
-
790
- </div><table class="source_code">
791
- <tr>
792
- <td>
793
- <pre class="lines">
794
-
795
-
796
- 38
797
- 39
798
- 40
799
- 41
800
- 42
801
- 43
802
- 44
803
- 45
804
- 46
805
- 47
806
- 48
807
- 49
808
- 50
809
- 51
810
- 52
811
- 53</pre>
812
- </td>
813
- <td>
814
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 38</span>
815
-
816
- <span class='kw'>def</span> <span class='id identifier rubyid_send_ajax'>send_ajax</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='symbol'>:ok</span><span class='comma'>,</span> <span class='label'>format:</span> <span class='symbol'>:json</span><span class='comma'>,</span> <span class='label'>pretty_json:</span> <span class='kw'>false</span><span class='rparen'>)</span>
817
- <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_performed?'>performed?</span> <span class='kw'>then</span>
818
- <span class='comment'># Prepare data
819
- </span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='id identifier rubyid_prepare_ajax_send'>prepare_ajax_send</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_status'>status</span><span class='rparen'>)</span>
820
-
821
- <span class='comment'># Setup callback and format
822
- </span> <span class='id identifier rubyid_format'>format</span><span class='comma'>,</span> <span class='id identifier rubyid_callback'>callback</span><span class='comma'>,</span> <span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='id identifier rubyid_format_ajax_send'>format_ajax_send</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
823
- <span class='id identifier rubyid_status'>status</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span><span class='lbracket'>[</span><span class='symbol'>:status</span><span class='rbracket'>]</span>
824
-
825
- <span class='comment'># Adjust data
826
- </span> <span class='id identifier rubyid_data'>data</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_pretty_json'>pretty_json</span> <span class='op'>?</span> <span class='const'>Oj</span><span class='period'>.</span><span class='id identifier rubyid_dump'>dump</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>ActiveSupport</span><span class='op'>::</span><span class='const'>JSON</span><span class='period'>.</span><span class='id identifier rubyid_encode'>encode</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:json</span><span class='comma'>,</span> <span class='symbol'>:jsonp</span><span class='comma'>,</span> <span class='symbol'>:text</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
827
-
828
- <span class='comment'># Render
829
- </span> <span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_status'>status</span><span class='comma'>,</span> <span class='label'>callback:</span> <span class='id identifier rubyid_callback'>callback</span><span class='comma'>,</span> <span class='label'>content_type:</span> <span class='id identifier rubyid_content_type'>content_type</span><span class='rparen'>)</span>
830
- <span class='kw'>end</span>
831
- <span class='kw'>end</span></pre>
832
- </td>
833
- </tr>
834
- </table>
835
- </div>
836
-
837
- <div class="method_details ">
838
- <h3 class="signature " id="update_ajax-instance_method">
839
-
840
- - (<tt>Hash</tt>) <strong>update_ajax</strong>(data, operation = nil)
841
-
842
-
843
-
844
-
845
-
846
- </h3><div class="docstring">
847
- <div class="discussion">
848
- <p>Updates an AJAX response from a operation, taking either the response data or the first error.</p>
849
-
850
-
851
- </div>
852
- </div>
853
- <div class="tags">
854
- <p class="tag_title">Parameters:</p>
855
- <ul class="param">
856
-
857
- <li>
858
-
859
- <span class='name'>data</span>
860
-
861
-
862
- <span class='type'>(<tt>Hash</tt>)</span>
863
-
864
-
865
-
866
- &mdash;
867
- <div class='inline'><p>The current data.</p>
868
- </div>
869
-
870
- </li>
871
-
872
- <li>
873
-
874
- <span class='name'>operation</span>
875
-
876
-
877
- <span class='type'>(<tt><span class='object_link'><a href="../Operation.html" title="Ballast::Operation (class)">Operation</a></span></tt>)</span>
878
-
879
-
880
- <em class="default">(defaults to: <tt>nil</tt>)</em>
881
-
882
-
883
- &mdash;
884
- <div class='inline'><p>The operation to gather data from.</p>
885
- </div>
886
-
887
- </li>
888
-
889
- </ul>
890
-
891
- <p class="tag_title">Returns:</p>
892
- <ul class="return">
893
-
894
- <li>
895
-
896
-
897
- <span class='type'>(<tt>Hash</tt>)</span>
898
-
899
-
900
-
901
- &mdash;
902
- <div class='inline'><p>The updated data.</p>
903
- </div>
904
-
905
- </li>
906
-
907
- </ul>
908
-
909
- </div><table class="source_code">
910
- <tr>
911
- <td>
912
- <pre class="lines">
913
-
914
-
915
- 60
916
- 61
917
- 62
918
- 63
919
- 64</pre>
920
- </td>
921
- <td>
922
- <pre class="code"><span class="info file"># File 'lib/ballast/concerns/ajax.rb', line 60</span>
923
-
924
- <span class='kw'>def</span> <span class='id identifier rubyid_update_ajax'>update_ajax</span><span class='lparen'>(</span><span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='id identifier rubyid_operation'>operation</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
925
- <span class='id identifier rubyid_operation'>operation</span> <span class='op'>||=</span> <span class='ivar'>@operation</span>
926
- <span class='id identifier rubyid_data'>data</span><span class='period'>.</span><span class='id identifier rubyid_merge!'>merge!</span><span class='lparen'>(</span><span class='id identifier rubyid_operation'>operation</span><span class='period'>.</span><span class='id identifier rubyid_success?'>success?</span> <span class='op'>?</span> <span class='lbrace'>{</span><span class='label'>data:</span> <span class='id identifier rubyid_operation'>operation</span><span class='period'>.</span><span class='id identifier rubyid_response'>response</span><span class='lbracket'>[</span><span class='symbol'>:data</span><span class='rbracket'>]</span><span class='rbrace'>}</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='label'>error:</span> <span class='id identifier rubyid_operation'>operation</span><span class='period'>.</span><span class='id identifier rubyid_errors'>errors</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span><span class='rbrace'>}</span><span class='rparen'>)</span>
927
- <span class='id identifier rubyid_data'>data</span>
928
- <span class='kw'>end</span></pre>
929
- </td>
930
- </tr>
931
- </table>
932
- </div>
933
-
934
- </div>
935
-
936
- </div>
937
-
938
- <div id="footer">
939
- Generated on Sat Mar 15 14:04:12 2014 by
940
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
941
- 0.8.7.3 (ruby-2.1.0).
942
- </div>
943
-
944
- </body>
945
- </html>