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,794 @@
|
|
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::Emoji::Utils
|
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/Emoji/Utils.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 (U)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../../Ballast.html" title="Ballast (module)">Ballast</a></span></span> » <span class='title'><span class='object_link'><a href="../Emoji.html" title="Ballast::Emoji (module)">Emoji</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Utils</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::Emoji::Utils
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
<dt class="r1 last">Defined in:</dt>
|
82
|
+
<dd class="r1 last">lib/ballast/emoji.rb</dd>
|
83
|
+
|
84
|
+
</dl>
|
85
|
+
<div class="clear"></div>
|
86
|
+
|
87
|
+
<h2>Overview</h2><div class="docstring">
|
88
|
+
<div class="discussion">
|
89
|
+
<p>General utility methods.</p>
|
90
|
+
|
91
|
+
|
92
|
+
</div>
|
93
|
+
</div>
|
94
|
+
<div class="tags">
|
95
|
+
|
96
|
+
|
97
|
+
</div>
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
102
|
+
<ul class="summary">
|
103
|
+
|
104
|
+
<li class="public ">
|
105
|
+
<span class="summary_signature">
|
106
|
+
|
107
|
+
<a href="#url_mapper-instance_method" title="#url_mapper (instance method)">- (Proc) <strong>url_mapper</strong> </a>
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
</span>
|
112
|
+
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
|
123
|
+
|
124
|
+
<span class="summary_desc"><div class='inline'><p>Returns the URL mapper for the emojis.</p>
|
125
|
+
</div></span>
|
126
|
+
|
127
|
+
</li>
|
128
|
+
|
129
|
+
|
130
|
+
</ul>
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
<h2>
|
137
|
+
Instance Method Summary
|
138
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
139
|
+
</h2>
|
140
|
+
|
141
|
+
<ul class="summary">
|
142
|
+
|
143
|
+
<li class="public ">
|
144
|
+
<span class="summary_signature">
|
145
|
+
|
146
|
+
<a href="#enumerate-instance_method" title="#enumerate (instance method)">- (Hash) <strong>enumerate</strong>(keys_method: :markup, values_method: :html, **options) </a>
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
</span>
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
<span class="summary_desc"><div class='inline'><p>Lists all the emoji known in a hash.</p>
|
161
|
+
</div></span>
|
162
|
+
|
163
|
+
</li>
|
164
|
+
|
165
|
+
|
166
|
+
<li class="public ">
|
167
|
+
<span class="summary_signature">
|
168
|
+
|
169
|
+
<a href="#replace-instance_method" title="#replace (instance method)">- (String) <strong>replace</strong>(text, mode: :html, **options) </a>
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
</span>
|
174
|
+
|
175
|
+
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
|
183
|
+
<span class="summary_desc"><div class='inline'><p>Replaces all the emojis in the text using the requested mod.</p>
|
184
|
+
</div></span>
|
185
|
+
|
186
|
+
</li>
|
187
|
+
|
188
|
+
|
189
|
+
<li class="public ">
|
190
|
+
<span class="summary_signature">
|
191
|
+
|
192
|
+
<a href="#replace_regex-instance_method" title="#replace_regex (instance method)">- (Regexp) <strong>replace_regex</strong> </a>
|
193
|
+
|
194
|
+
|
195
|
+
|
196
|
+
</span>
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
|
206
|
+
<span class="summary_desc"><div class='inline'><p>Returns the regular expression which matches all the known emojis.</p>
|
207
|
+
</div></span>
|
208
|
+
|
209
|
+
</li>
|
210
|
+
|
211
|
+
|
212
|
+
<li class="public ">
|
213
|
+
<span class="summary_signature">
|
214
|
+
|
215
|
+
<a href="#url_for-instance_method" title="#url_for (instance method)">- (String) <strong>url_for</strong>(image) </a>
|
216
|
+
|
217
|
+
|
218
|
+
|
219
|
+
</span>
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
|
224
|
+
|
225
|
+
|
226
|
+
|
227
|
+
|
228
|
+
|
229
|
+
<span class="summary_desc"><div class='inline'><p>Returns a absolute URL for a emoji image.</p>
|
230
|
+
</div></span>
|
231
|
+
|
232
|
+
</li>
|
233
|
+
|
234
|
+
|
235
|
+
</ul>
|
236
|
+
|
237
|
+
|
238
|
+
|
239
|
+
<div id="instance_attr_details" class="attr_details">
|
240
|
+
<h2>Instance Attribute Details</h2>
|
241
|
+
|
242
|
+
|
243
|
+
<span id="url_mapper=-instance_method"></span>
|
244
|
+
<div class="method_details first">
|
245
|
+
<h3 class="signature first" id="url_mapper-instance_method">
|
246
|
+
|
247
|
+
- (<tt>Proc</tt>) <strong>url_mapper</strong>
|
248
|
+
|
249
|
+
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
</h3><div class="docstring">
|
254
|
+
<div class="discussion">
|
255
|
+
<p>Returns the URL mapper for the emojis.</p>
|
256
|
+
|
257
|
+
|
258
|
+
</div>
|
259
|
+
</div>
|
260
|
+
<div class="tags">
|
261
|
+
|
262
|
+
<p class="tag_title">Returns:</p>
|
263
|
+
<ul class="return">
|
264
|
+
|
265
|
+
<li>
|
266
|
+
|
267
|
+
|
268
|
+
<span class='type'>(<tt>Proc</tt>)</span>
|
269
|
+
|
270
|
+
|
271
|
+
|
272
|
+
—
|
273
|
+
<div class='inline'><p>The current URL mapper or a default one (which will return the relative URL unmodified).</p>
|
274
|
+
</div>
|
275
|
+
|
276
|
+
</li>
|
277
|
+
|
278
|
+
</ul>
|
279
|
+
|
280
|
+
</div><table class="source_code">
|
281
|
+
<tr>
|
282
|
+
<td>
|
283
|
+
<pre class="lines">
|
284
|
+
|
285
|
+
|
286
|
+
13
|
287
|
+
14
|
288
|
+
15
|
289
|
+
16
|
290
|
+
17
|
291
|
+
18
|
292
|
+
19
|
293
|
+
20
|
294
|
+
21
|
295
|
+
22
|
296
|
+
23
|
297
|
+
24
|
298
|
+
25
|
299
|
+
26
|
300
|
+
27
|
301
|
+
28
|
302
|
+
29
|
303
|
+
30
|
304
|
+
31
|
305
|
+
32
|
306
|
+
33
|
307
|
+
34
|
308
|
+
35
|
309
|
+
36
|
310
|
+
37
|
311
|
+
38
|
312
|
+
39
|
313
|
+
40
|
314
|
+
41
|
315
|
+
42
|
316
|
+
43
|
317
|
+
44
|
318
|
+
45
|
319
|
+
46
|
320
|
+
47
|
321
|
+
48
|
322
|
+
49
|
323
|
+
50
|
324
|
+
51
|
325
|
+
52
|
326
|
+
53
|
327
|
+
54
|
328
|
+
55
|
329
|
+
56
|
330
|
+
57
|
331
|
+
58
|
332
|
+
59
|
333
|
+
60
|
334
|
+
61
|
335
|
+
62
|
336
|
+
63
|
337
|
+
64
|
338
|
+
65
|
339
|
+
66
|
340
|
+
67
|
341
|
+
68
|
342
|
+
69
|
343
|
+
70
|
344
|
+
71
|
345
|
+
72</pre>
|
346
|
+
</td>
|
347
|
+
<td>
|
348
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/emoji.rb', line 13</span>
|
349
|
+
|
350
|
+
<span class='kw'>module</span> <span class='const'>Utils</span>
|
351
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:url_mapper</span>
|
352
|
+
|
353
|
+
<span class='comment'># Returns the regular expression which matches all the known emojis.
|
354
|
+
</span> <span class='comment'>#
|
355
|
+
</span> <span class='comment'># @return [Regexp] The regular expression which matches all the known emojis.
|
356
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_replace_regex'>replace_regex</span>
|
357
|
+
<span class='ivar'>@replace_regex</span> <span class='op'>||=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:unicodes_index</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>|</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='regexp_end'>/</span></span>
|
358
|
+
<span class='kw'>end</span>
|
359
|
+
|
360
|
+
<span class='comment'># Replaces all the emojis in the text using the requested mod.
|
361
|
+
</span> <span class='comment'>#
|
362
|
+
</span> <span class='comment'># @param text [String] The text to manipulate.
|
363
|
+
</span> <span class='comment'># @param mode [Symbol] The method to use when replacing icons.
|
364
|
+
</span> <span class='comment'># @param options [Hash] The options to pass to the replacing method.
|
365
|
+
</span> <span class='comment'># @return [String] The text with all emojis replaced.
|
366
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span><span class='comma'>,</span> <span class='label'>mode:</span> <span class='symbol'>:html</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
367
|
+
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>=</span> <span class='symbol'>:markup</span> <span class='kw'>unless</span> <span class='id identifier rubyid_mode'>mode</span> <span class='op'>&&</span> <span class='op'>::</span><span class='const'>Emoji</span><span class='op'>::</span><span class='const'>Character</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span><span class='rparen'>)</span>
|
368
|
+
<span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='id identifier rubyid_replace_regex'>replace_regex</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_find_by_unicode'>find_by_unicode</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='period'>.</span><span class='id identifier rubyid_last_match'>last_match</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_mode'>mode</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
369
|
+
<span class='kw'>end</span>
|
370
|
+
|
371
|
+
<span class='comment'># Lists all the emoji known in a hash.
|
372
|
+
</span> <span class='comment'>#
|
373
|
+
</span> <span class='comment'># @param keys_method [Symbol] The method to use for keys.
|
374
|
+
</span> <span class='comment'># @param values_method [Symbol] The method to use for values.
|
375
|
+
</span> <span class='comment'># @param options [Hash] The options to pass to all methods.
|
376
|
+
</span> <span class='comment'># @return [Hash] A hash of all known emojis.
|
377
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_enumerate'>enumerate</span><span class='lparen'>(</span><span class='label'>keys_method:</span> <span class='symbol'>:markup</span><span class='comma'>,</span> <span class='label'>values_method:</span> <span class='symbol'>:html</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
378
|
+
<span class='id identifier rubyid_tester'>tester</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Emoji</span><span class='op'>::</span><span class='const'>Character</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span>
|
379
|
+
<span class='id identifier rubyid_keys_method'>keys_method</span> <span class='op'>=</span> <span class='symbol'>:markup</span> <span class='kw'>unless</span> <span class='id identifier rubyid_keys_method'>keys_method</span> <span class='op'>&&</span> <span class='id identifier rubyid_tester'>tester</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_keys_method'>keys_method</span><span class='rparen'>)</span>
|
380
|
+
<span class='id identifier rubyid_values_method'>values_method</span> <span class='op'>=</span> <span class='symbol'>:html</span> <span class='kw'>unless</span> <span class='id identifier rubyid_values_method'>values_method</span> <span class='op'>&&</span> <span class='id identifier rubyid_tester'>tester</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_values_method'>values_method</span><span class='rparen'>)</span>
|
381
|
+
|
382
|
+
<span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_accu'>accu</span><span class='comma'>,</span> <span class='id identifier rubyid_icon'>icon</span><span class='op'>|</span>
|
383
|
+
<span class='id identifier rubyid_accu'>accu</span><span class='lbracket'>[</span><span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_icon'>icon</span><span class='comma'>,</span> <span class='id identifier rubyid_keys_method'>keys_method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_icon'>icon</span><span class='comma'>,</span> <span class='id identifier rubyid_values_method'>values_method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
384
|
+
<span class='id identifier rubyid_accu'>accu</span>
|
385
|
+
<span class='rbrace'>}</span>
|
386
|
+
<span class='kw'>end</span>
|
387
|
+
|
388
|
+
<span class='comment'># Returns the URL mapper for the emojis.
|
389
|
+
</span> <span class='comment'>#
|
390
|
+
</span> <span class='comment'># @return [Proc] The current URL mapper or a default one (which will return the relative URL unmodified).
|
391
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_url_mapper'>url_mapper</span>
|
392
|
+
<span class='ivar'>@url_mapper</span> <span class='op'>||</span> <span class='tlambda'>-></span><span class='lparen'>(</span><span class='id identifier rubyid_url'>url</span><span class='rparen'>)</span> <span class='tlambeg'>{</span> <span class='id identifier rubyid_url'>url</span> <span class='rbrace'>}</span>
|
393
|
+
<span class='kw'>end</span>
|
394
|
+
|
395
|
+
<span class='comment'># Returns a absolute URL for a emoji image.
|
396
|
+
</span> <span class='comment'>#
|
397
|
+
</span> <span class='comment'># @param image [String] The relative URL of the emoji filename.
|
398
|
+
</span> <span class='comment'># @return [String] The absolute URL of the emoji filename.
|
399
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_url_for'>url_for</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span>
|
400
|
+
<span class='id identifier rubyid_url_mapper'>url_mapper</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span>
|
401
|
+
<span class='kw'>end</span>
|
402
|
+
|
403
|
+
<span class='id identifier rubyid_private'>private</span>
|
404
|
+
|
405
|
+
<span class='comment'># :nodoc:
|
406
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_subject'>subject</span><span class='comma'>,</span> <span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
407
|
+
<span class='id identifier rubyid_subject'>subject</span><span class='period'>.</span><span class='id identifier rubyid_method'>method</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_arity'>arity</span> <span class='op'>==</span> <span class='int'>1</span> <span class='op'>?</span> <span class='id identifier rubyid_subject'>subject</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_subject'>subject</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_method'>method</span><span class='rparen'>)</span>
|
408
|
+
<span class='kw'>end</span>
|
409
|
+
<span class='kw'>end</span></pre>
|
410
|
+
</td>
|
411
|
+
</tr>
|
412
|
+
</table>
|
413
|
+
</div>
|
414
|
+
|
415
|
+
</div>
|
416
|
+
|
417
|
+
|
418
|
+
<div id="instance_method_details" class="method_details_list">
|
419
|
+
<h2>Instance Method Details</h2>
|
420
|
+
|
421
|
+
|
422
|
+
<div class="method_details first">
|
423
|
+
<h3 class="signature first" id="enumerate-instance_method">
|
424
|
+
|
425
|
+
- (<tt>Hash</tt>) <strong>enumerate</strong>(keys_method: :markup, values_method: :html, **options)
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
|
430
|
+
|
431
|
+
</h3><div class="docstring">
|
432
|
+
<div class="discussion">
|
433
|
+
<p>Lists all the emoji known in a hash.</p>
|
434
|
+
|
435
|
+
|
436
|
+
</div>
|
437
|
+
</div>
|
438
|
+
<div class="tags">
|
439
|
+
<p class="tag_title">Parameters:</p>
|
440
|
+
<ul class="param">
|
441
|
+
|
442
|
+
<li>
|
443
|
+
|
444
|
+
<span class='name'>keys_method</span>
|
445
|
+
|
446
|
+
|
447
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
—
|
452
|
+
<div class='inline'><p>The method to use for keys.</p>
|
453
|
+
</div>
|
454
|
+
|
455
|
+
</li>
|
456
|
+
|
457
|
+
<li>
|
458
|
+
|
459
|
+
<span class='name'>values_method</span>
|
460
|
+
|
461
|
+
|
462
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
—
|
467
|
+
<div class='inline'><p>The method to use for values.</p>
|
468
|
+
</div>
|
469
|
+
|
470
|
+
</li>
|
471
|
+
|
472
|
+
<li>
|
473
|
+
|
474
|
+
<span class='name'>options</span>
|
475
|
+
|
476
|
+
|
477
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
478
|
+
|
479
|
+
|
480
|
+
|
481
|
+
—
|
482
|
+
<div class='inline'><p>The options to pass to all methods.</p>
|
483
|
+
</div>
|
484
|
+
|
485
|
+
</li>
|
486
|
+
|
487
|
+
</ul>
|
488
|
+
|
489
|
+
<p class="tag_title">Returns:</p>
|
490
|
+
<ul class="return">
|
491
|
+
|
492
|
+
<li>
|
493
|
+
|
494
|
+
|
495
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
496
|
+
|
497
|
+
|
498
|
+
|
499
|
+
—
|
500
|
+
<div class='inline'><p>A hash of all known emojis.</p>
|
501
|
+
</div>
|
502
|
+
|
503
|
+
</li>
|
504
|
+
|
505
|
+
</ul>
|
506
|
+
|
507
|
+
</div><table class="source_code">
|
508
|
+
<tr>
|
509
|
+
<td>
|
510
|
+
<pre class="lines">
|
511
|
+
|
512
|
+
|
513
|
+
40
|
514
|
+
41
|
515
|
+
42
|
516
|
+
43
|
517
|
+
44
|
518
|
+
45
|
519
|
+
46
|
520
|
+
47
|
521
|
+
48
|
522
|
+
49</pre>
|
523
|
+
</td>
|
524
|
+
<td>
|
525
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/emoji.rb', line 40</span>
|
526
|
+
|
527
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_enumerate'>enumerate</span><span class='lparen'>(</span><span class='label'>keys_method:</span> <span class='symbol'>:markup</span><span class='comma'>,</span> <span class='label'>values_method:</span> <span class='symbol'>:html</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
528
|
+
<span class='id identifier rubyid_tester'>tester</span> <span class='op'>=</span> <span class='op'>::</span><span class='const'>Emoji</span><span class='op'>::</span><span class='const'>Character</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span>
|
529
|
+
<span class='id identifier rubyid_keys_method'>keys_method</span> <span class='op'>=</span> <span class='symbol'>:markup</span> <span class='kw'>unless</span> <span class='id identifier rubyid_keys_method'>keys_method</span> <span class='op'>&&</span> <span class='id identifier rubyid_tester'>tester</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_keys_method'>keys_method</span><span class='rparen'>)</span>
|
530
|
+
<span class='id identifier rubyid_values_method'>values_method</span> <span class='op'>=</span> <span class='symbol'>:html</span> <span class='kw'>unless</span> <span class='id identifier rubyid_values_method'>values_method</span> <span class='op'>&&</span> <span class='id identifier rubyid_tester'>tester</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_values_method'>values_method</span><span class='rparen'>)</span>
|
531
|
+
|
532
|
+
<span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_all'>all</span><span class='period'>.</span><span class='id identifier rubyid_reduce'>reduce</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_accu'>accu</span><span class='comma'>,</span> <span class='id identifier rubyid_icon'>icon</span><span class='op'>|</span>
|
533
|
+
<span class='id identifier rubyid_accu'>accu</span><span class='lbracket'>[</span><span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_icon'>icon</span><span class='comma'>,</span> <span class='id identifier rubyid_keys_method'>keys_method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='id identifier rubyid_icon'>icon</span><span class='comma'>,</span> <span class='id identifier rubyid_values_method'>values_method</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
534
|
+
<span class='id identifier rubyid_accu'>accu</span>
|
535
|
+
<span class='rbrace'>}</span>
|
536
|
+
<span class='kw'>end</span></pre>
|
537
|
+
</td>
|
538
|
+
</tr>
|
539
|
+
</table>
|
540
|
+
</div>
|
541
|
+
|
542
|
+
<div class="method_details ">
|
543
|
+
<h3 class="signature " id="replace-instance_method">
|
544
|
+
|
545
|
+
- (<tt>String</tt>) <strong>replace</strong>(text, mode: :html, **options)
|
546
|
+
|
547
|
+
|
548
|
+
|
549
|
+
|
550
|
+
|
551
|
+
</h3><div class="docstring">
|
552
|
+
<div class="discussion">
|
553
|
+
<p>Replaces all the emojis in the text using the requested mod.</p>
|
554
|
+
|
555
|
+
|
556
|
+
</div>
|
557
|
+
</div>
|
558
|
+
<div class="tags">
|
559
|
+
<p class="tag_title">Parameters:</p>
|
560
|
+
<ul class="param">
|
561
|
+
|
562
|
+
<li>
|
563
|
+
|
564
|
+
<span class='name'>text</span>
|
565
|
+
|
566
|
+
|
567
|
+
<span class='type'>(<tt>String</tt>)</span>
|
568
|
+
|
569
|
+
|
570
|
+
|
571
|
+
—
|
572
|
+
<div class='inline'><p>The text to manipulate.</p>
|
573
|
+
</div>
|
574
|
+
|
575
|
+
</li>
|
576
|
+
|
577
|
+
<li>
|
578
|
+
|
579
|
+
<span class='name'>mode</span>
|
580
|
+
|
581
|
+
|
582
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
583
|
+
|
584
|
+
|
585
|
+
|
586
|
+
—
|
587
|
+
<div class='inline'><p>The method to use when replacing icons.</p>
|
588
|
+
</div>
|
589
|
+
|
590
|
+
</li>
|
591
|
+
|
592
|
+
<li>
|
593
|
+
|
594
|
+
<span class='name'>options</span>
|
595
|
+
|
596
|
+
|
597
|
+
<span class='type'>(<tt>Hash</tt>)</span>
|
598
|
+
|
599
|
+
|
600
|
+
|
601
|
+
—
|
602
|
+
<div class='inline'><p>The options to pass to the replacing method.</p>
|
603
|
+
</div>
|
604
|
+
|
605
|
+
</li>
|
606
|
+
|
607
|
+
</ul>
|
608
|
+
|
609
|
+
<p class="tag_title">Returns:</p>
|
610
|
+
<ul class="return">
|
611
|
+
|
612
|
+
<li>
|
613
|
+
|
614
|
+
|
615
|
+
<span class='type'>(<tt>String</tt>)</span>
|
616
|
+
|
617
|
+
|
618
|
+
|
619
|
+
—
|
620
|
+
<div class='inline'><p>The text with all emojis replaced.</p>
|
621
|
+
</div>
|
622
|
+
|
623
|
+
</li>
|
624
|
+
|
625
|
+
</ul>
|
626
|
+
|
627
|
+
</div><table class="source_code">
|
628
|
+
<tr>
|
629
|
+
<td>
|
630
|
+
<pre class="lines">
|
631
|
+
|
632
|
+
|
633
|
+
29
|
634
|
+
30
|
635
|
+
31
|
636
|
+
32</pre>
|
637
|
+
</td>
|
638
|
+
<td>
|
639
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/emoji.rb', line 29</span>
|
640
|
+
|
641
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_replace'>replace</span><span class='lparen'>(</span><span class='id identifier rubyid_text'>text</span><span class='comma'>,</span> <span class='label'>mode:</span> <span class='symbol'>:html</span><span class='comma'>,</span> <span class='op'>**</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
642
|
+
<span class='id identifier rubyid_mode'>mode</span> <span class='op'>=</span> <span class='symbol'>:markup</span> <span class='kw'>unless</span> <span class='id identifier rubyid_mode'>mode</span> <span class='op'>&&</span> <span class='op'>::</span><span class='const'>Emoji</span><span class='op'>::</span><span class='const'>Character</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='id identifier rubyid_mode'>mode</span><span class='rparen'>)</span>
|
643
|
+
<span class='id identifier rubyid_text'>text</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='id identifier rubyid_replace_regex'>replace_regex</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='id identifier rubyid_invoke'>invoke</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_find_by_unicode'>find_by_unicode</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='period'>.</span><span class='id identifier rubyid_last_match'>last_match</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id identifier rubyid_mode'>mode</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
644
|
+
<span class='kw'>end</span></pre>
|
645
|
+
</td>
|
646
|
+
</tr>
|
647
|
+
</table>
|
648
|
+
</div>
|
649
|
+
|
650
|
+
<div class="method_details ">
|
651
|
+
<h3 class="signature " id="replace_regex-instance_method">
|
652
|
+
|
653
|
+
- (<tt>Regexp</tt>) <strong>replace_regex</strong>
|
654
|
+
|
655
|
+
|
656
|
+
|
657
|
+
|
658
|
+
|
659
|
+
</h3><div class="docstring">
|
660
|
+
<div class="discussion">
|
661
|
+
<p>Returns the regular expression which matches all the known emojis.</p>
|
662
|
+
|
663
|
+
|
664
|
+
</div>
|
665
|
+
</div>
|
666
|
+
<div class="tags">
|
667
|
+
|
668
|
+
<p class="tag_title">Returns:</p>
|
669
|
+
<ul class="return">
|
670
|
+
|
671
|
+
<li>
|
672
|
+
|
673
|
+
|
674
|
+
<span class='type'>(<tt>Regexp</tt>)</span>
|
675
|
+
|
676
|
+
|
677
|
+
|
678
|
+
—
|
679
|
+
<div class='inline'><p>The regular expression which matches all the known emojis.</p>
|
680
|
+
</div>
|
681
|
+
|
682
|
+
</li>
|
683
|
+
|
684
|
+
</ul>
|
685
|
+
|
686
|
+
</div><table class="source_code">
|
687
|
+
<tr>
|
688
|
+
<td>
|
689
|
+
<pre class="lines">
|
690
|
+
|
691
|
+
|
692
|
+
19
|
693
|
+
20
|
694
|
+
21</pre>
|
695
|
+
</td>
|
696
|
+
<td>
|
697
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/emoji.rb', line 19</span>
|
698
|
+
|
699
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_replace_regex'>replace_regex</span>
|
700
|
+
<span class='ivar'>@replace_regex</span> <span class='op'>||=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>(</span><span class='embexpr_beg'>#{</span><span class='op'>::</span><span class='const'>Emoji</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='symbol'>:unicodes_index</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_keys'>keys</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>|</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='embexpr_end'>}</span><span class='tstring_content'>)</span><span class='regexp_end'>/</span></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="url_for-instance_method">
|
709
|
+
|
710
|
+
- (<tt>String</tt>) <strong>url_for</strong>(image)
|
711
|
+
|
712
|
+
|
713
|
+
|
714
|
+
|
715
|
+
|
716
|
+
</h3><div class="docstring">
|
717
|
+
<div class="discussion">
|
718
|
+
<p>Returns a absolute URL for a emoji image.</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'>image</span>
|
730
|
+
|
731
|
+
|
732
|
+
<span class='type'>(<tt>String</tt>)</span>
|
733
|
+
|
734
|
+
|
735
|
+
|
736
|
+
—
|
737
|
+
<div class='inline'><p>The relative URL of the emoji filename.</p>
|
738
|
+
</div>
|
739
|
+
|
740
|
+
</li>
|
741
|
+
|
742
|
+
</ul>
|
743
|
+
|
744
|
+
<p class="tag_title">Returns:</p>
|
745
|
+
<ul class="return">
|
746
|
+
|
747
|
+
<li>
|
748
|
+
|
749
|
+
|
750
|
+
<span class='type'>(<tt>String</tt>)</span>
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
—
|
755
|
+
<div class='inline'><p>The absolute URL of the emoji filename.</p>
|
756
|
+
</div>
|
757
|
+
|
758
|
+
</li>
|
759
|
+
|
760
|
+
</ul>
|
761
|
+
|
762
|
+
</div><table class="source_code">
|
763
|
+
<tr>
|
764
|
+
<td>
|
765
|
+
<pre class="lines">
|
766
|
+
|
767
|
+
|
768
|
+
62
|
769
|
+
63
|
770
|
+
64</pre>
|
771
|
+
</td>
|
772
|
+
<td>
|
773
|
+
<pre class="code"><span class="info file"># File 'lib/ballast/emoji.rb', line 62</span>
|
774
|
+
|
775
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_url_for'>url_for</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span>
|
776
|
+
<span class='id identifier rubyid_url_mapper'>url_mapper</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_image'>image</span><span class='rparen'>)</span>
|
777
|
+
<span class='kw'>end</span></pre>
|
778
|
+
</td>
|
779
|
+
</tr>
|
780
|
+
</table>
|
781
|
+
</div>
|
782
|
+
|
783
|
+
</div>
|
784
|
+
|
785
|
+
</div>
|
786
|
+
|
787
|
+
<div id="footer">
|
788
|
+
Generated on Sun Nov 2 09:40:00 2014 by
|
789
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
790
|
+
0.8.7.6 (ruby-2.1.3).
|
791
|
+
</div>
|
792
|
+
|
793
|
+
</body>
|
794
|
+
</html>
|