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,1380 @@
|
|
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
|
+
Class: Ballast::AjaxResponse
|
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/AjaxResponse.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>
|
36
|
+
»
|
37
|
+
<span class="title">AjaxResponse</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>Class: Ballast::AjaxResponse
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Ballast::AjaxResponse</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/ballast/ajax_response.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
<p>An AJAX response.</p>
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
<div class="tags">
|
110
|
+
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
117
|
+
<ul class="summary">
|
118
|
+
|
119
|
+
<li class="public ">
|
120
|
+
<span class="summary_signature">
|
121
|
+
|
122
|
+
<a href="#data-instance_method" title="#data (instance method)">- (Object|Hash|NilClass) <strong>data</strong> </a>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
</span>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
<span class="summary_desc"><div class='inline'><p>The data to send to the client.</p>
|
140
|
+
</div></span>
|
141
|
+
|
142
|
+
</li>
|
143
|
+
|
144
|
+
|
145
|
+
<li class="public ">
|
146
|
+
<span class="summary_signature">
|
147
|
+
|
148
|
+
<a href="#error-instance_method" title="#error (instance method)">- (Object|NilClass) <strong>error</strong> </a>
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
</span>
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
<span class="summary_desc"><div class='inline'><p>A error message.</p>
|
166
|
+
</div></span>
|
167
|
+
|
168
|
+
</li>
|
169
|
+
|
170
|
+
|
171
|
+
<li class="public ">
|
172
|
+
<span class="summary_signature">
|
173
|
+
|
174
|
+
<a href="#status-instance_method" title="#status (instance method)">- (Symbol|Fixnum) <strong>status</strong> </a>
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
</span>
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
<span class="summary_desc"><div class='inline'><p>The HTTP status of the response.</p>
|
192
|
+
</div></span>
|
193
|
+
|
194
|
+
</li>
|
195
|
+
|
196
|
+
|
197
|
+
<li class="public ">
|
198
|
+
<span class="summary_signature">
|
199
|
+
|
200
|
+
<a href="#transport-instance_method" title="#transport (instance method)">- (Object|NilClass) <strong>transport</strong> </a>
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
</span>
|
205
|
+
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
<span class="summary_desc"><div class='inline'><p>The transport to use for sending.</p>
|
218
|
+
</div></span>
|
219
|
+
|
220
|
+
</li>
|
221
|
+
|
222
|
+
|
223
|
+
</ul>
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
<h2>
|
230
|
+
Instance Method Summary
|
231
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
232
|
+
</h2>
|
233
|
+
|
234
|
+
<ul class="summary">
|
235
|
+
|
236
|
+
<li class="public ">
|
237
|
+
<span class="summary_signature">
|
238
|
+
|
239
|
+
<a href="#as_json-instance_method" title="#as_json (instance method)">- (Hash) <strong>as_json</strong>(options = {}) </a>
|
240
|
+
|
241
|
+
|
242
|
+
|
243
|
+
</span>
|
244
|
+
|
245
|
+
|
246
|
+
|
247
|
+
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
<span class="summary_desc"><div class='inline'><p>Returns a JSON representation of the response.</p>
|
254
|
+
</div></span>
|
255
|
+
|
256
|
+
</li>
|
257
|
+
|
258
|
+
|
259
|
+
<li class="public ">
|
260
|
+
<span class="summary_signature">
|
261
|
+
|
262
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (AjaxResponse) <strong>initialize</strong>(status: :ok, data: {}, error: nil, transport: nil) </a>
|
263
|
+
|
264
|
+
|
265
|
+
|
266
|
+
</span>
|
267
|
+
|
268
|
+
|
269
|
+
<span class="note title constructor">constructor</span>
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
|
274
|
+
|
275
|
+
|
276
|
+
|
277
|
+
|
278
|
+
<span class="summary_desc"><div class='inline'><p>Creates an AJAX response.</p>
|
279
|
+
</div></span>
|
280
|
+
|
281
|
+
</li>
|
282
|
+
|
283
|
+
|
284
|
+
<li class="public ">
|
285
|
+
<span class="summary_signature">
|
286
|
+
|
287
|
+
<a href="#numeric_status-instance_method" title="#numeric_status (instance method)">- (Fixnum) <strong>numeric_status</strong> </a>
|
288
|
+
|
289
|
+
|
290
|
+
|
291
|
+
</span>
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
|
300
|
+
|
301
|
+
<span class="summary_desc"><div class='inline'><p>Returns the status as a number.</p>
|
302
|
+
</div></span>
|
303
|
+
|
304
|
+
</li>
|
305
|
+
|
306
|
+
|
307
|
+
<li class="public ">
|
308
|
+
<span class="summary_signature">
|
309
|
+
|
310
|
+
<a href="#reply-instance_method" title="#reply (instance method)">- (Object) <strong>reply</strong>(format: :json, pretty_json: false) </a>
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
</span>
|
315
|
+
|
316
|
+
|
317
|
+
|
318
|
+
|
319
|
+
|
320
|
+
|
321
|
+
|
322
|
+
|
323
|
+
|
324
|
+
<span class="summary_desc"><div class='inline'><p>Sends the response using the transport.</p>
|
325
|
+
</div></span>
|
326
|
+
|
327
|
+
</li>
|
328
|
+
|
329
|
+
|
330
|
+
</ul>
|
331
|
+
|
332
|
+
|
333
|
+
<div id="constructor_details" class="method_details_list">
|
334
|
+
<h2>Constructor Details</h2>
|
335
|
+
|
336
|
+
<div class="method_details first">
|
337
|
+
<h3 class="signature first" id="initialize-instance_method">
|
338
|
+
|
339
|
+
- (<tt><span class='object_link'><a href="" title="Ballast::AjaxResponse (class)">AjaxResponse</a></span></tt>) <strong>initialize</strong>(status: :ok, data: {}, error: nil, transport: nil)
|
340
|
+
|
341
|
+
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
</h3><div class="docstring">
|
346
|
+
<div class="discussion">
|
347
|
+
<p>Creates an AJAX response.</p>
|
348
|
+
|
349
|
+
|
350
|
+
</div>
|
351
|
+
</div>
|
352
|
+
<div class="tags">
|
353
|
+
<p class="tag_title">Parameters:</p>
|
354
|
+
<ul class="param">
|
355
|
+
|
356
|
+
<li>
|
357
|
+
|
358
|
+
<span class='name'>status</span>
|
359
|
+
|
360
|
+
|
361
|
+
<span class='type'>(<tt>Symbol|Fixnum</tt>)</span>
|
362
|
+
|
363
|
+
|
364
|
+
|
365
|
+
—
|
366
|
+
<div class='inline'><p>The HTTP status of the response.</p>
|
367
|
+
</div>
|
368
|
+
|
369
|
+
</li>
|
370
|
+
|
371
|
+
<li>
|
372
|
+
|
373
|
+
<span class='name'>data</span>
|
374
|
+
|
375
|
+
|
376
|
+
<span class='type'>(<tt>Object|Hash|NilClass</tt>)</span>
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
—
|
381
|
+
<div class='inline'><p>Additional data to append to the response.</p>
|
382
|
+
</div>
|
383
|
+
|
384
|
+
</li>
|
385
|
+
|
386
|
+
<li>
|
387
|
+
|
388
|
+
<span class='name'>error</span>
|
389
|
+
|
390
|
+
|
391
|
+
<span class='type'>(<tt>Object|NilClass</tt>)</span>
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
—
|
396
|
+
<div class='inline'><p>A error to append to the response.</p>
|
397
|
+
</div>
|
398
|
+
|
399
|
+
</li>
|
400
|
+
|
401
|
+
<li>
|
402
|
+
|
403
|
+
<span class='name'>transport</span>
|
404
|
+
|
405
|
+
|
406
|
+
<span class='type'>(<tt>Object|NilClass</tt>)</span>
|
407
|
+
|
408
|
+
|
409
|
+
|
410
|
+
—
|
411
|
+
<div class='inline'><p>The transport to use for sending. Must respond to <code>render</code>, <code>params</code>, <code>request.format</code> and <code>performed?</code>.</p>
|
412
|
+
</div>
|
413
|
+
|
414
|
+
</li>
|
415
|
+
|
416
|
+
</ul>
|
417
|
+
|
418
|
+
|
419
|
+
</div><table class="source_code">
|
420
|
+
<tr>
|
421
|
+
<td>
|
422
|
+
<pre class="lines">
|
423
|
+
|
424
|
+
|
425
|
+
26
|
426
|
+
27
|
427
|
+
28
|
428
|
+
29
|
429
|
+
30
|
430
|
+
31</pre>
|
431
|
+
</td>
|
432
|
+
<td>
|
433
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 26</span>
|
434
|
+
|
435
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</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='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
436
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span>
|
437
|
+
<span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
438
|
+
<span class='ivar'>@error</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span>
|
439
|
+
<span class='ivar'>@transport</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span>
|
440
|
+
<span class='kw'>end</span></pre>
|
441
|
+
</td>
|
442
|
+
</tr>
|
443
|
+
</table>
|
444
|
+
</div>
|
445
|
+
|
446
|
+
</div>
|
447
|
+
|
448
|
+
<div id="instance_attr_details" class="attr_details">
|
449
|
+
<h2>Instance Attribute Details</h2>
|
450
|
+
|
451
|
+
|
452
|
+
<span id="data=-instance_method"></span>
|
453
|
+
<div class="method_details first">
|
454
|
+
<h3 class="signature first" id="data-instance_method">
|
455
|
+
|
456
|
+
- (<tt>Object|Hash|NilClass</tt>) <strong>data</strong>
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
</h3><div class="docstring">
|
463
|
+
<div class="discussion">
|
464
|
+
<p>Returns The data to send to the client.</p>
|
465
|
+
|
466
|
+
|
467
|
+
</div>
|
468
|
+
</div>
|
469
|
+
<div class="tags">
|
470
|
+
|
471
|
+
<p class="tag_title">Returns:</p>
|
472
|
+
<ul class="return">
|
473
|
+
|
474
|
+
<li>
|
475
|
+
|
476
|
+
|
477
|
+
<span class='type'>(<tt>Object|Hash|NilClass</tt>)</span>
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
—
|
482
|
+
<div class='inline'><p>The data to send to the client.</p>
|
483
|
+
</div>
|
484
|
+
|
485
|
+
</li>
|
486
|
+
|
487
|
+
</ul>
|
488
|
+
|
489
|
+
</div><table class="source_code">
|
490
|
+
<tr>
|
491
|
+
<td>
|
492
|
+
<pre class="lines">
|
493
|
+
|
494
|
+
|
495
|
+
17
|
496
|
+
18
|
497
|
+
19
|
498
|
+
20
|
499
|
+
21
|
500
|
+
22
|
501
|
+
23
|
502
|
+
24
|
503
|
+
25
|
504
|
+
26
|
505
|
+
27
|
506
|
+
28
|
507
|
+
29
|
508
|
+
30
|
509
|
+
31
|
510
|
+
32
|
511
|
+
33
|
512
|
+
34
|
513
|
+
35
|
514
|
+
36
|
515
|
+
37
|
516
|
+
38
|
517
|
+
39
|
518
|
+
40
|
519
|
+
41
|
520
|
+
42
|
521
|
+
43
|
522
|
+
44
|
523
|
+
45
|
524
|
+
46
|
525
|
+
47
|
526
|
+
48
|
527
|
+
49
|
528
|
+
50
|
529
|
+
51
|
530
|
+
52
|
531
|
+
53
|
532
|
+
54
|
533
|
+
55
|
534
|
+
56
|
535
|
+
57
|
536
|
+
58
|
537
|
+
59
|
538
|
+
60
|
539
|
+
61
|
540
|
+
62
|
541
|
+
63
|
542
|
+
64
|
543
|
+
65
|
544
|
+
66
|
545
|
+
67
|
546
|
+
68
|
547
|
+
69
|
548
|
+
70
|
549
|
+
71
|
550
|
+
72
|
551
|
+
73
|
552
|
+
74
|
553
|
+
75</pre>
|
554
|
+
</td>
|
555
|
+
<td>
|
556
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 17</span>
|
557
|
+
|
558
|
+
<span class='kw'>class</span> <span class='const'>AjaxResponse</span>
|
559
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='symbol'>:data</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='symbol'>:transport</span>
|
560
|
+
|
561
|
+
<span class='comment'># Creates an AJAX response.
|
562
|
+
</span> <span class='comment'>#
|
563
|
+
</span> <span class='comment'># @param status [Symbol|Fixnum] The HTTP status of the response.
|
564
|
+
</span> <span class='comment'># @param data [Object|Hash|NilClass] Additional data to append to the response.
|
565
|
+
</span> <span class='comment'># @param error [Object|NilClass] A error to append to the response.
|
566
|
+
</span> <span class='comment'># @param transport [Object|NilClass] The transport to use for sending. Must respond to `render`, `params`, `request.format` and `performed?`.
|
567
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</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='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
568
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span>
|
569
|
+
<span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
570
|
+
<span class='ivar'>@error</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span>
|
571
|
+
<span class='ivar'>@transport</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span>
|
572
|
+
<span class='kw'>end</span>
|
573
|
+
|
574
|
+
<span class='comment'># Returns the status as a number.
|
575
|
+
</span> <span class='comment'>#
|
576
|
+
</span> <span class='comment'># @return [Fixnum] The status as a number.
|
577
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span>
|
578
|
+
<span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
579
|
+
<span class='kw'>end</span>
|
580
|
+
|
581
|
+
<span class='comment'># Returns a JSON representation of the response.
|
582
|
+
</span> <span class='comment'>#
|
583
|
+
</span> <span class='comment'># @param options [Hash] The options to use for serializing. Currently only `original_status` is supported.
|
584
|
+
</span> <span class='comment'># @return [Hash] A JSON representation of the response.
|
585
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
586
|
+
<span class='lbrace'>{</span>
|
587
|
+
<span class='label'>status:</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_status</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span><span class='comma'>,</span>
|
588
|
+
<span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span>
|
589
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span>
|
590
|
+
<span class='rbrace'>}</span>
|
591
|
+
<span class='kw'>end</span>
|
592
|
+
|
593
|
+
<span class='comment'># Sends the response using the transport.
|
594
|
+
</span> <span class='comment'>#
|
595
|
+
</span> <span class='comment'># @param format [Symbol] The content type of the response.
|
596
|
+
</span> <span class='comment'># @param pretty_json [Boolean] If JSON response must be pretty formatted.
|
597
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reply'>reply</span><span class='lparen'>(</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>
|
598
|
+
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_performed?'>performed?</span>
|
599
|
+
|
600
|
+
<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_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
601
|
+
<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='kw'>self</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='kw'>self</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>
|
602
|
+
|
603
|
+
<span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_numeric_status'>numeric_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>
|
604
|
+
<span class='kw'>end</span>
|
605
|
+
|
606
|
+
<span class='id identifier rubyid_private'>private</span>
|
607
|
+
|
608
|
+
<span class='comment'># :nodoc:
|
609
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_format_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
610
|
+
<span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:format</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>json</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
611
|
+
<span class='id identifier rubyid_callback'>callback</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:jsonp</span><span class='comma'>,</span> <span class='symbol'>:pretty_jsonp</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> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:callback</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>jsonp</span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
612
|
+
<span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>==</span> <span class='symbol'>:text</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span>
|
613
|
+
|
614
|
+
<span class='lbracket'>[</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='rbracket'>]</span>
|
615
|
+
<span class='kw'>end</span>
|
616
|
+
<span class='kw'>end</span></pre>
|
617
|
+
</td>
|
618
|
+
</tr>
|
619
|
+
</table>
|
620
|
+
</div>
|
621
|
+
|
622
|
+
|
623
|
+
<span id="error=-instance_method"></span>
|
624
|
+
<div class="method_details ">
|
625
|
+
<h3 class="signature " id="error-instance_method">
|
626
|
+
|
627
|
+
- (<tt>Object|NilClass</tt>) <strong>error</strong>
|
628
|
+
|
629
|
+
|
630
|
+
|
631
|
+
|
632
|
+
|
633
|
+
</h3><div class="docstring">
|
634
|
+
<div class="discussion">
|
635
|
+
<p>Returns A error message.</p>
|
636
|
+
|
637
|
+
|
638
|
+
</div>
|
639
|
+
</div>
|
640
|
+
<div class="tags">
|
641
|
+
|
642
|
+
<p class="tag_title">Returns:</p>
|
643
|
+
<ul class="return">
|
644
|
+
|
645
|
+
<li>
|
646
|
+
|
647
|
+
|
648
|
+
<span class='type'>(<tt>Object|NilClass</tt>)</span>
|
649
|
+
|
650
|
+
|
651
|
+
|
652
|
+
—
|
653
|
+
<div class='inline'><p>A error message.</p>
|
654
|
+
</div>
|
655
|
+
|
656
|
+
</li>
|
657
|
+
|
658
|
+
</ul>
|
659
|
+
|
660
|
+
</div><table class="source_code">
|
661
|
+
<tr>
|
662
|
+
<td>
|
663
|
+
<pre class="lines">
|
664
|
+
|
665
|
+
|
666
|
+
17
|
667
|
+
18
|
668
|
+
19
|
669
|
+
20
|
670
|
+
21
|
671
|
+
22
|
672
|
+
23
|
673
|
+
24
|
674
|
+
25
|
675
|
+
26
|
676
|
+
27
|
677
|
+
28
|
678
|
+
29
|
679
|
+
30
|
680
|
+
31
|
681
|
+
32
|
682
|
+
33
|
683
|
+
34
|
684
|
+
35
|
685
|
+
36
|
686
|
+
37
|
687
|
+
38
|
688
|
+
39
|
689
|
+
40
|
690
|
+
41
|
691
|
+
42
|
692
|
+
43
|
693
|
+
44
|
694
|
+
45
|
695
|
+
46
|
696
|
+
47
|
697
|
+
48
|
698
|
+
49
|
699
|
+
50
|
700
|
+
51
|
701
|
+
52
|
702
|
+
53
|
703
|
+
54
|
704
|
+
55
|
705
|
+
56
|
706
|
+
57
|
707
|
+
58
|
708
|
+
59
|
709
|
+
60
|
710
|
+
61
|
711
|
+
62
|
712
|
+
63
|
713
|
+
64
|
714
|
+
65
|
715
|
+
66
|
716
|
+
67
|
717
|
+
68
|
718
|
+
69
|
719
|
+
70
|
720
|
+
71
|
721
|
+
72
|
722
|
+
73
|
723
|
+
74
|
724
|
+
75</pre>
|
725
|
+
</td>
|
726
|
+
<td>
|
727
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 17</span>
|
728
|
+
|
729
|
+
<span class='kw'>class</span> <span class='const'>AjaxResponse</span>
|
730
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='symbol'>:data</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='symbol'>:transport</span>
|
731
|
+
|
732
|
+
<span class='comment'># Creates an AJAX response.
|
733
|
+
</span> <span class='comment'>#
|
734
|
+
</span> <span class='comment'># @param status [Symbol|Fixnum] The HTTP status of the response.
|
735
|
+
</span> <span class='comment'># @param data [Object|Hash|NilClass] Additional data to append to the response.
|
736
|
+
</span> <span class='comment'># @param error [Object|NilClass] A error to append to the response.
|
737
|
+
</span> <span class='comment'># @param transport [Object|NilClass] The transport to use for sending. Must respond to `render`, `params`, `request.format` and `performed?`.
|
738
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</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='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
739
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span>
|
740
|
+
<span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
741
|
+
<span class='ivar'>@error</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span>
|
742
|
+
<span class='ivar'>@transport</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span>
|
743
|
+
<span class='kw'>end</span>
|
744
|
+
|
745
|
+
<span class='comment'># Returns the status as a number.
|
746
|
+
</span> <span class='comment'>#
|
747
|
+
</span> <span class='comment'># @return [Fixnum] The status as a number.
|
748
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span>
|
749
|
+
<span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
750
|
+
<span class='kw'>end</span>
|
751
|
+
|
752
|
+
<span class='comment'># Returns a JSON representation of the response.
|
753
|
+
</span> <span class='comment'>#
|
754
|
+
</span> <span class='comment'># @param options [Hash] The options to use for serializing. Currently only `original_status` is supported.
|
755
|
+
</span> <span class='comment'># @return [Hash] A JSON representation of the response.
|
756
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
757
|
+
<span class='lbrace'>{</span>
|
758
|
+
<span class='label'>status:</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_status</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span><span class='comma'>,</span>
|
759
|
+
<span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span>
|
760
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span>
|
761
|
+
<span class='rbrace'>}</span>
|
762
|
+
<span class='kw'>end</span>
|
763
|
+
|
764
|
+
<span class='comment'># Sends the response using the transport.
|
765
|
+
</span> <span class='comment'>#
|
766
|
+
</span> <span class='comment'># @param format [Symbol] The content type of the response.
|
767
|
+
</span> <span class='comment'># @param pretty_json [Boolean] If JSON response must be pretty formatted.
|
768
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reply'>reply</span><span class='lparen'>(</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>
|
769
|
+
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_performed?'>performed?</span>
|
770
|
+
|
771
|
+
<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_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
772
|
+
<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='kw'>self</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='kw'>self</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>
|
773
|
+
|
774
|
+
<span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_numeric_status'>numeric_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>
|
775
|
+
<span class='kw'>end</span>
|
776
|
+
|
777
|
+
<span class='id identifier rubyid_private'>private</span>
|
778
|
+
|
779
|
+
<span class='comment'># :nodoc:
|
780
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_format_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
781
|
+
<span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:format</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>json</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
782
|
+
<span class='id identifier rubyid_callback'>callback</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:jsonp</span><span class='comma'>,</span> <span class='symbol'>:pretty_jsonp</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> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:callback</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>jsonp</span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
783
|
+
<span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>==</span> <span class='symbol'>:text</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span>
|
784
|
+
|
785
|
+
<span class='lbracket'>[</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='rbracket'>]</span>
|
786
|
+
<span class='kw'>end</span>
|
787
|
+
<span class='kw'>end</span></pre>
|
788
|
+
</td>
|
789
|
+
</tr>
|
790
|
+
</table>
|
791
|
+
</div>
|
792
|
+
|
793
|
+
|
794
|
+
<span id="status=-instance_method"></span>
|
795
|
+
<div class="method_details ">
|
796
|
+
<h3 class="signature " id="status-instance_method">
|
797
|
+
|
798
|
+
- (<tt>Symbol|Fixnum</tt>) <strong>status</strong>
|
799
|
+
|
800
|
+
|
801
|
+
|
802
|
+
|
803
|
+
|
804
|
+
</h3><div class="docstring">
|
805
|
+
<div class="discussion">
|
806
|
+
<p>Returns The HTTP status of the response.</p>
|
807
|
+
|
808
|
+
|
809
|
+
</div>
|
810
|
+
</div>
|
811
|
+
<div class="tags">
|
812
|
+
|
813
|
+
<p class="tag_title">Returns:</p>
|
814
|
+
<ul class="return">
|
815
|
+
|
816
|
+
<li>
|
817
|
+
|
818
|
+
|
819
|
+
<span class='type'>(<tt>Symbol|Fixnum</tt>)</span>
|
820
|
+
|
821
|
+
|
822
|
+
|
823
|
+
—
|
824
|
+
<div class='inline'><p>The HTTP status of the response.</p>
|
825
|
+
</div>
|
826
|
+
|
827
|
+
</li>
|
828
|
+
|
829
|
+
</ul>
|
830
|
+
|
831
|
+
</div><table class="source_code">
|
832
|
+
<tr>
|
833
|
+
<td>
|
834
|
+
<pre class="lines">
|
835
|
+
|
836
|
+
|
837
|
+
17
|
838
|
+
18
|
839
|
+
19
|
840
|
+
20
|
841
|
+
21
|
842
|
+
22
|
843
|
+
23
|
844
|
+
24
|
845
|
+
25
|
846
|
+
26
|
847
|
+
27
|
848
|
+
28
|
849
|
+
29
|
850
|
+
30
|
851
|
+
31
|
852
|
+
32
|
853
|
+
33
|
854
|
+
34
|
855
|
+
35
|
856
|
+
36
|
857
|
+
37
|
858
|
+
38
|
859
|
+
39
|
860
|
+
40
|
861
|
+
41
|
862
|
+
42
|
863
|
+
43
|
864
|
+
44
|
865
|
+
45
|
866
|
+
46
|
867
|
+
47
|
868
|
+
48
|
869
|
+
49
|
870
|
+
50
|
871
|
+
51
|
872
|
+
52
|
873
|
+
53
|
874
|
+
54
|
875
|
+
55
|
876
|
+
56
|
877
|
+
57
|
878
|
+
58
|
879
|
+
59
|
880
|
+
60
|
881
|
+
61
|
882
|
+
62
|
883
|
+
63
|
884
|
+
64
|
885
|
+
65
|
886
|
+
66
|
887
|
+
67
|
888
|
+
68
|
889
|
+
69
|
890
|
+
70
|
891
|
+
71
|
892
|
+
72
|
893
|
+
73
|
894
|
+
74
|
895
|
+
75</pre>
|
896
|
+
</td>
|
897
|
+
<td>
|
898
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 17</span>
|
899
|
+
|
900
|
+
<span class='kw'>class</span> <span class='const'>AjaxResponse</span>
|
901
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='symbol'>:data</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='symbol'>:transport</span>
|
902
|
+
|
903
|
+
<span class='comment'># Creates an AJAX response.
|
904
|
+
</span> <span class='comment'>#
|
905
|
+
</span> <span class='comment'># @param status [Symbol|Fixnum] The HTTP status of the response.
|
906
|
+
</span> <span class='comment'># @param data [Object|Hash|NilClass] Additional data to append to the response.
|
907
|
+
</span> <span class='comment'># @param error [Object|NilClass] A error to append to the response.
|
908
|
+
</span> <span class='comment'># @param transport [Object|NilClass] The transport to use for sending. Must respond to `render`, `params`, `request.format` and `performed?`.
|
909
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</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='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
910
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span>
|
911
|
+
<span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
912
|
+
<span class='ivar'>@error</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span>
|
913
|
+
<span class='ivar'>@transport</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span>
|
914
|
+
<span class='kw'>end</span>
|
915
|
+
|
916
|
+
<span class='comment'># Returns the status as a number.
|
917
|
+
</span> <span class='comment'>#
|
918
|
+
</span> <span class='comment'># @return [Fixnum] The status as a number.
|
919
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span>
|
920
|
+
<span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
921
|
+
<span class='kw'>end</span>
|
922
|
+
|
923
|
+
<span class='comment'># Returns a JSON representation of the response.
|
924
|
+
</span> <span class='comment'>#
|
925
|
+
</span> <span class='comment'># @param options [Hash] The options to use for serializing. Currently only `original_status` is supported.
|
926
|
+
</span> <span class='comment'># @return [Hash] A JSON representation of the response.
|
927
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
928
|
+
<span class='lbrace'>{</span>
|
929
|
+
<span class='label'>status:</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_status</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span><span class='comma'>,</span>
|
930
|
+
<span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span>
|
931
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span>
|
932
|
+
<span class='rbrace'>}</span>
|
933
|
+
<span class='kw'>end</span>
|
934
|
+
|
935
|
+
<span class='comment'># Sends the response using the transport.
|
936
|
+
</span> <span class='comment'>#
|
937
|
+
</span> <span class='comment'># @param format [Symbol] The content type of the response.
|
938
|
+
</span> <span class='comment'># @param pretty_json [Boolean] If JSON response must be pretty formatted.
|
939
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reply'>reply</span><span class='lparen'>(</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>
|
940
|
+
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_performed?'>performed?</span>
|
941
|
+
|
942
|
+
<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_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
943
|
+
<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='kw'>self</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='kw'>self</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>
|
944
|
+
|
945
|
+
<span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_numeric_status'>numeric_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>
|
946
|
+
<span class='kw'>end</span>
|
947
|
+
|
948
|
+
<span class='id identifier rubyid_private'>private</span>
|
949
|
+
|
950
|
+
<span class='comment'># :nodoc:
|
951
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_format_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
952
|
+
<span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:format</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>json</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
953
|
+
<span class='id identifier rubyid_callback'>callback</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:jsonp</span><span class='comma'>,</span> <span class='symbol'>:pretty_jsonp</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> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:callback</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>jsonp</span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
954
|
+
<span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>==</span> <span class='symbol'>:text</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span>
|
955
|
+
|
956
|
+
<span class='lbracket'>[</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='rbracket'>]</span>
|
957
|
+
<span class='kw'>end</span>
|
958
|
+
<span class='kw'>end</span></pre>
|
959
|
+
</td>
|
960
|
+
</tr>
|
961
|
+
</table>
|
962
|
+
</div>
|
963
|
+
|
964
|
+
|
965
|
+
<span id="transport=-instance_method"></span>
|
966
|
+
<div class="method_details ">
|
967
|
+
<h3 class="signature " id="transport-instance_method">
|
968
|
+
|
969
|
+
- (<tt>Object|NilClass</tt>) <strong>transport</strong>
|
970
|
+
|
971
|
+
|
972
|
+
|
973
|
+
|
974
|
+
|
975
|
+
</h3><div class="docstring">
|
976
|
+
<div class="discussion">
|
977
|
+
<p>Returns The transport to use for sending. Must respond to <code>render</code>, <code>params</code>, <code>request.format</code> and <code>performed?</code>.</p>
|
978
|
+
|
979
|
+
|
980
|
+
</div>
|
981
|
+
</div>
|
982
|
+
<div class="tags">
|
983
|
+
|
984
|
+
<p class="tag_title">Returns:</p>
|
985
|
+
<ul class="return">
|
986
|
+
|
987
|
+
<li>
|
988
|
+
|
989
|
+
|
990
|
+
<span class='type'>(<tt>Object|NilClass</tt>)</span>
|
991
|
+
|
992
|
+
|
993
|
+
|
994
|
+
—
|
995
|
+
<div class='inline'><p>The transport to use for sending. Must respond to <code>render</code>, <code>params</code>, <code>request.format</code> and <code>performed?</code>.</p>
|
996
|
+
</div>
|
997
|
+
|
998
|
+
</li>
|
999
|
+
|
1000
|
+
</ul>
|
1001
|
+
|
1002
|
+
</div><table class="source_code">
|
1003
|
+
<tr>
|
1004
|
+
<td>
|
1005
|
+
<pre class="lines">
|
1006
|
+
|
1007
|
+
|
1008
|
+
17
|
1009
|
+
18
|
1010
|
+
19
|
1011
|
+
20
|
1012
|
+
21
|
1013
|
+
22
|
1014
|
+
23
|
1015
|
+
24
|
1016
|
+
25
|
1017
|
+
26
|
1018
|
+
27
|
1019
|
+
28
|
1020
|
+
29
|
1021
|
+
30
|
1022
|
+
31
|
1023
|
+
32
|
1024
|
+
33
|
1025
|
+
34
|
1026
|
+
35
|
1027
|
+
36
|
1028
|
+
37
|
1029
|
+
38
|
1030
|
+
39
|
1031
|
+
40
|
1032
|
+
41
|
1033
|
+
42
|
1034
|
+
43
|
1035
|
+
44
|
1036
|
+
45
|
1037
|
+
46
|
1038
|
+
47
|
1039
|
+
48
|
1040
|
+
49
|
1041
|
+
50
|
1042
|
+
51
|
1043
|
+
52
|
1044
|
+
53
|
1045
|
+
54
|
1046
|
+
55
|
1047
|
+
56
|
1048
|
+
57
|
1049
|
+
58
|
1050
|
+
59
|
1051
|
+
60
|
1052
|
+
61
|
1053
|
+
62
|
1054
|
+
63
|
1055
|
+
64
|
1056
|
+
65
|
1057
|
+
66
|
1058
|
+
67
|
1059
|
+
68
|
1060
|
+
69
|
1061
|
+
70
|
1062
|
+
71
|
1063
|
+
72
|
1064
|
+
73
|
1065
|
+
74
|
1066
|
+
75</pre>
|
1067
|
+
</td>
|
1068
|
+
<td>
|
1069
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 17</span>
|
1070
|
+
|
1071
|
+
<span class='kw'>class</span> <span class='const'>AjaxResponse</span>
|
1072
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:status</span><span class='comma'>,</span> <span class='symbol'>:data</span><span class='comma'>,</span> <span class='symbol'>:error</span><span class='comma'>,</span> <span class='symbol'>:transport</span>
|
1073
|
+
|
1074
|
+
<span class='comment'># Creates an AJAX response.
|
1075
|
+
</span> <span class='comment'>#
|
1076
|
+
</span> <span class='comment'># @param status [Symbol|Fixnum] The HTTP status of the response.
|
1077
|
+
</span> <span class='comment'># @param data [Object|Hash|NilClass] Additional data to append to the response.
|
1078
|
+
</span> <span class='comment'># @param error [Object|NilClass] A error to append to the response.
|
1079
|
+
</span> <span class='comment'># @param transport [Object|NilClass] The transport to use for sending. Must respond to `render`, `params`, `request.format` and `performed?`.
|
1080
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</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='comma'>,</span> <span class='label'>transport:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1081
|
+
<span class='ivar'>@status</span> <span class='op'>=</span> <span class='id identifier rubyid_status'>status</span>
|
1082
|
+
<span class='ivar'>@data</span> <span class='op'>=</span> <span class='id identifier rubyid_data'>data</span>
|
1083
|
+
<span class='ivar'>@error</span> <span class='op'>=</span> <span class='id identifier rubyid_error'>error</span>
|
1084
|
+
<span class='ivar'>@transport</span> <span class='op'>=</span> <span class='id identifier rubyid_transport'>transport</span>
|
1085
|
+
<span class='kw'>end</span>
|
1086
|
+
|
1087
|
+
<span class='comment'># Returns the status as a number.
|
1088
|
+
</span> <span class='comment'>#
|
1089
|
+
</span> <span class='comment'># @return [Fixnum] The status as a number.
|
1090
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span>
|
1091
|
+
<span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
1092
|
+
<span class='kw'>end</span>
|
1093
|
+
|
1094
|
+
<span class='comment'># Returns a JSON representation of the response.
|
1095
|
+
</span> <span class='comment'>#
|
1096
|
+
</span> <span class='comment'># @param options [Hash] The options to use for serializing. Currently only `original_status` is supported.
|
1097
|
+
</span> <span class='comment'># @return [Hash] A JSON representation of the response.
|
1098
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1099
|
+
<span class='lbrace'>{</span>
|
1100
|
+
<span class='label'>status:</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_status</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span><span class='comma'>,</span>
|
1101
|
+
<span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span>
|
1102
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span>
|
1103
|
+
<span class='rbrace'>}</span>
|
1104
|
+
<span class='kw'>end</span>
|
1105
|
+
|
1106
|
+
<span class='comment'># Sends the response using the transport.
|
1107
|
+
</span> <span class='comment'>#
|
1108
|
+
</span> <span class='comment'># @param format [Symbol] The content type of the response.
|
1109
|
+
</span> <span class='comment'># @param pretty_json [Boolean] If JSON response must be pretty formatted.
|
1110
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_reply'>reply</span><span class='lparen'>(</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>
|
1111
|
+
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_performed?'>performed?</span>
|
1112
|
+
|
1113
|
+
<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_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
1114
|
+
<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='kw'>self</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='kw'>self</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>
|
1115
|
+
|
1116
|
+
<span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_numeric_status'>numeric_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>
|
1117
|
+
<span class='kw'>end</span>
|
1118
|
+
|
1119
|
+
<span class='id identifier rubyid_private'>private</span>
|
1120
|
+
|
1121
|
+
<span class='comment'># :nodoc:
|
1122
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_format_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
1123
|
+
<span class='id identifier rubyid_format'>format</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:format</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_request'>request</span><span class='period'>.</span><span class='id identifier rubyid_format'>format</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>json</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span>
|
1124
|
+
<span class='id identifier rubyid_callback'>callback</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:jsonp</span><span class='comma'>,</span> <span class='symbol'>:pretty_jsonp</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> <span class='op'>?</span> <span class='lparen'>(</span><span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_params'>params</span><span class='lbracket'>[</span><span class='symbol'>:callback</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>jsonp</span><span class='embexpr_beg'>#{</span><span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span><span class='embexpr_end'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1125
|
+
<span class='id identifier rubyid_content_type'>content_type</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>==</span> <span class='symbol'>:text</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>text/plain</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='kw'>nil</span>
|
1126
|
+
|
1127
|
+
<span class='lbracket'>[</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='rbracket'>]</span>
|
1128
|
+
<span class='kw'>end</span>
|
1129
|
+
<span class='kw'>end</span></pre>
|
1130
|
+
</td>
|
1131
|
+
</tr>
|
1132
|
+
</table>
|
1133
|
+
</div>
|
1134
|
+
|
1135
|
+
</div>
|
1136
|
+
|
1137
|
+
|
1138
|
+
<div id="instance_method_details" class="method_details_list">
|
1139
|
+
<h2>Instance Method Details</h2>
|
1140
|
+
|
1141
|
+
|
1142
|
+
<div class="method_details first">
|
1143
|
+
<h3 class="signature first" id="as_json-instance_method">
|
1144
|
+
|
1145
|
+
- (<tt>Hash</tt>) <strong>as_json</strong>(options = {})
|
1146
|
+
|
1147
|
+
|
1148
|
+
|
1149
|
+
|
1150
|
+
|
1151
|
+
</h3><div class="docstring">
|
1152
|
+
<div class="discussion">
|
1153
|
+
<p>Returns a JSON representation of the response.</p>
|
1154
|
+
|
1155
|
+
|
1156
|
+
</div>
|
1157
|
+
</div>
|
1158
|
+
<div class="tags">
|
1159
|
+
<p class="tag_title">Parameters:</p>
|
1160
|
+
<ul class="param">
|
1161
|
+
|
1162
|
+
<li>
|
1163
|
+
|
1164
|
+
<span class='name'>options</span>
|
1165
|
+
|
1166
|
+
|
1167
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1168
|
+
|
1169
|
+
|
1170
|
+
<em class="default">(defaults to: <tt>{}</tt>)</em>
|
1171
|
+
|
1172
|
+
|
1173
|
+
—
|
1174
|
+
<div class='inline'><p>The options to use for serializing. Currently only <code>original_status</code> is supported.</p>
|
1175
|
+
</div>
|
1176
|
+
|
1177
|
+
</li>
|
1178
|
+
|
1179
|
+
</ul>
|
1180
|
+
|
1181
|
+
<p class="tag_title">Returns:</p>
|
1182
|
+
<ul class="return">
|
1183
|
+
|
1184
|
+
<li>
|
1185
|
+
|
1186
|
+
|
1187
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
1188
|
+
|
1189
|
+
|
1190
|
+
|
1191
|
+
—
|
1192
|
+
<div class='inline'><p>A JSON representation of the response.</p>
|
1193
|
+
</div>
|
1194
|
+
|
1195
|
+
</li>
|
1196
|
+
|
1197
|
+
</ul>
|
1198
|
+
|
1199
|
+
</div><table class="source_code">
|
1200
|
+
<tr>
|
1201
|
+
<td>
|
1202
|
+
<pre class="lines">
|
1203
|
+
|
1204
|
+
|
1205
|
+
44
|
1206
|
+
45
|
1207
|
+
46
|
1208
|
+
47
|
1209
|
+
48
|
1210
|
+
49
|
1211
|
+
50</pre>
|
1212
|
+
</td>
|
1213
|
+
<td>
|
1214
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 44</span>
|
1215
|
+
|
1216
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_as_json'>as_json</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
1217
|
+
<span class='lbrace'>{</span>
|
1218
|
+
<span class='label'>status:</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='symbol'>:original_status</span><span class='rbracket'>]</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span><span class='comma'>,</span>
|
1219
|
+
<span class='label'>data:</span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span>
|
1220
|
+
<span class='label'>error:</span> <span class='id identifier rubyid_error'>error</span>
|
1221
|
+
<span class='rbrace'>}</span>
|
1222
|
+
<span class='kw'>end</span></pre>
|
1223
|
+
</td>
|
1224
|
+
</tr>
|
1225
|
+
</table>
|
1226
|
+
</div>
|
1227
|
+
|
1228
|
+
<div class="method_details ">
|
1229
|
+
<h3 class="signature " id="numeric_status-instance_method">
|
1230
|
+
|
1231
|
+
- (<tt>Fixnum</tt>) <strong>numeric_status</strong>
|
1232
|
+
|
1233
|
+
|
1234
|
+
|
1235
|
+
|
1236
|
+
|
1237
|
+
</h3><div class="docstring">
|
1238
|
+
<div class="discussion">
|
1239
|
+
<p>Returns the status as a number.</p>
|
1240
|
+
|
1241
|
+
|
1242
|
+
</div>
|
1243
|
+
</div>
|
1244
|
+
<div class="tags">
|
1245
|
+
|
1246
|
+
<p class="tag_title">Returns:</p>
|
1247
|
+
<ul class="return">
|
1248
|
+
|
1249
|
+
<li>
|
1250
|
+
|
1251
|
+
|
1252
|
+
<span class='type'>(<tt>Fixnum</tt>)</span>
|
1253
|
+
|
1254
|
+
|
1255
|
+
|
1256
|
+
—
|
1257
|
+
<div class='inline'><p>The status as a number.</p>
|
1258
|
+
</div>
|
1259
|
+
|
1260
|
+
</li>
|
1261
|
+
|
1262
|
+
</ul>
|
1263
|
+
|
1264
|
+
</div><table class="source_code">
|
1265
|
+
<tr>
|
1266
|
+
<td>
|
1267
|
+
<pre class="lines">
|
1268
|
+
|
1269
|
+
|
1270
|
+
36
|
1271
|
+
37
|
1272
|
+
38</pre>
|
1273
|
+
</td>
|
1274
|
+
<td>
|
1275
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 36</span>
|
1276
|
+
|
1277
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_numeric_status'>numeric_status</span>
|
1278
|
+
<span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Fixnum</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_status'>status</span> <span class='op'>:</span> <span class='const'>Rack</span><span class='op'>::</span><span class='const'>Utils</span><span class='period'>.</span><span class='id identifier rubyid_status_code'>status_code</span><span class='lparen'>(</span><span class='id identifier rubyid_status'>status</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_to_sym'>to_sym</span><span class='rparen'>)</span>
|
1279
|
+
<span class='kw'>end</span></pre>
|
1280
|
+
</td>
|
1281
|
+
</tr>
|
1282
|
+
</table>
|
1283
|
+
</div>
|
1284
|
+
|
1285
|
+
<div class="method_details ">
|
1286
|
+
<h3 class="signature " id="reply-instance_method">
|
1287
|
+
|
1288
|
+
- (<tt>Object</tt>) <strong>reply</strong>(format: :json, pretty_json: false)
|
1289
|
+
|
1290
|
+
|
1291
|
+
|
1292
|
+
|
1293
|
+
|
1294
|
+
</h3><div class="docstring">
|
1295
|
+
<div class="discussion">
|
1296
|
+
<p>Sends the response using the transport.</p>
|
1297
|
+
|
1298
|
+
|
1299
|
+
</div>
|
1300
|
+
</div>
|
1301
|
+
<div class="tags">
|
1302
|
+
<p class="tag_title">Parameters:</p>
|
1303
|
+
<ul class="param">
|
1304
|
+
|
1305
|
+
<li>
|
1306
|
+
|
1307
|
+
<span class='name'>format</span>
|
1308
|
+
|
1309
|
+
|
1310
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1311
|
+
|
1312
|
+
|
1313
|
+
|
1314
|
+
—
|
1315
|
+
<div class='inline'><p>The content type of the response.</p>
|
1316
|
+
</div>
|
1317
|
+
|
1318
|
+
</li>
|
1319
|
+
|
1320
|
+
<li>
|
1321
|
+
|
1322
|
+
<span class='name'>pretty_json</span>
|
1323
|
+
|
1324
|
+
|
1325
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1326
|
+
|
1327
|
+
|
1328
|
+
|
1329
|
+
—
|
1330
|
+
<div class='inline'><p>If JSON response must be pretty formatted.</p>
|
1331
|
+
</div>
|
1332
|
+
|
1333
|
+
</li>
|
1334
|
+
|
1335
|
+
</ul>
|
1336
|
+
|
1337
|
+
|
1338
|
+
</div><table class="source_code">
|
1339
|
+
<tr>
|
1340
|
+
<td>
|
1341
|
+
<pre class="lines">
|
1342
|
+
|
1343
|
+
|
1344
|
+
56
|
1345
|
+
57
|
1346
|
+
58
|
1347
|
+
59
|
1348
|
+
60
|
1349
|
+
61
|
1350
|
+
62
|
1351
|
+
63</pre>
|
1352
|
+
</td>
|
1353
|
+
<td>
|
1354
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/ajax_response.rb', line 56</span>
|
1355
|
+
|
1356
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_reply'>reply</span><span class='lparen'>(</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>
|
1357
|
+
<span class='kw'>return</span> <span class='kw'>if</span> <span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_performed?'>performed?</span>
|
1358
|
+
|
1359
|
+
<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_reply'>format_reply</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span><span class='rparen'>)</span>
|
1360
|
+
<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='kw'>self</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='kw'>self</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>
|
1361
|
+
|
1362
|
+
<span class='id identifier rubyid_transport'>transport</span><span class='period'>.</span><span class='id identifier rubyid_render'>render</span><span class='lparen'>(</span><span class='id identifier rubyid_format'>format</span> <span class='op'>=></span> <span class='id identifier rubyid_data'>data</span><span class='comma'>,</span> <span class='label'>status:</span> <span class='id identifier rubyid_numeric_status'>numeric_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>
|
1363
|
+
<span class='kw'>end</span></pre>
|
1364
|
+
</td>
|
1365
|
+
</tr>
|
1366
|
+
</table>
|
1367
|
+
</div>
|
1368
|
+
|
1369
|
+
</div>
|
1370
|
+
|
1371
|
+
</div>
|
1372
|
+
|
1373
|
+
<div id="footer">
|
1374
|
+
Generated on Sun Nov 2 09:40:01 2014 by
|
1375
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
1376
|
+
0.8.7.6 (ruby-2.1.3).
|
1377
|
+
</div>
|
1378
|
+
|
1379
|
+
</body>
|
1380
|
+
</html>
|