hookapp 2.0.3 → 2.0.8

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/AUTHORS.md +4 -0
  4. data/CHANGELOG.md +5 -0
  5. data/Gemfile.lock +49 -66
  6. data/LICENSE +21 -0
  7. data/README.md +52 -19
  8. data/Rakefile +7 -3
  9. data/bin/hook +114 -78
  10. data/buildnotes.md +30 -0
  11. data/hook.rdoc +35 -11
  12. data/hookapp.gemspec +2 -2
  13. data/html/App.html +6 -18
  14. data/html/GLI/Commands/Doc.html +2 -10
  15. data/html/GLI/Commands/MarkdownDocumentListener.html +34 -230
  16. data/html/GLI/Commands.html +2 -10
  17. data/html/GLI.html +2 -10
  18. data/html/Hook.html +2 -15
  19. data/html/HookApp.html +99 -319
  20. data/html/Hooker.html +46 -24
  21. data/html/README_rdoc.html +49 -23
  22. data/html/String.html +28 -120
  23. data/html/created.rid +8 -8
  24. data/html/css/rdoc.css +21 -1
  25. data/html/index.html +38 -29
  26. data/html/js/navigation.js.gz +0 -0
  27. data/html/js/search_index.js +1 -1
  28. data/html/js/search_index.js.gz +0 -0
  29. data/html/js/searcher.js.gz +0 -0
  30. data/html/table_of_contents.html +33 -77
  31. data/lib/helpers/fuzzyfilefinder +0 -0
  32. data/lib/hook/hookapp.rb +39 -21
  33. data/lib/hook/hooker.rb +5 -2
  34. data/lib/hook/markdown_document_listener.rb +12 -2
  35. data/lib/hook/string.rb +4 -0
  36. data/lib/hook/version.rb +1 -1
  37. data/lib/hook.rb +5 -4
  38. data/test/helpers/hook-helpers.rb +76 -0
  39. data/test/hook_clip_test.rb +24 -0
  40. data/test/hook_clone_test.rb +30 -0
  41. data/test/hook_encode_test.rb +30 -0
  42. data/test/hook_link_test.rb +39 -0
  43. data/test/hook_list_test.rb +25 -0
  44. data/test/hook_remove_test.rb +34 -0
  45. data/test/hook_scripts_test.rb +21 -0
  46. metadata +19 -22
  47. data/test/default_test.rb +0 -14
  48. data/test/hookfiles/01.test +0 -0
  49. data/test/hookfiles/02.test +0 -0
  50. data/test/hookfiles/03.test +0 -0
  51. data/test/hookfiles/04.test +0 -0
  52. data/test/hookfiles/05.test +0 -0
  53. data/test/hookfiles/06.test +0 -0
  54. data/test/hookfiles/07.test +0 -0
  55. data/test/hookfiles/08.test +0 -0
  56. data/test/hookfiles/09.test +0 -0
  57. data/test/hookfiles/10.test +0 -0
  58. data/test/hookfiles/11.test +0 -0
  59. data/test/hookfiles/12.test +0 -0
data/html/HookApp.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>module HookApp - hookapp</title>
7
+ <title>class HookApp - hookapp</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "./";
@@ -21,9 +21,7 @@
21
21
  <link href="./css/rdoc.css" rel="stylesheet">
22
22
 
23
23
 
24
-
25
-
26
- <body id="top" role="document" class="module">
24
+ <body id="top" role="document" class="class">
27
25
  <nav role="navigation">
28
26
  <div id="project-navigation">
29
27
  <div id="home-section" role="region" title="Quick navigation" class="nav-section">
@@ -60,65 +58,52 @@
60
58
  <div id="class-metadata">
61
59
 
62
60
 
61
+ <div id="parent-class-section" class="nav-section">
62
+ <h3>Parent</h3>
63
+
64
+ <p class="link">Object
65
+ </div>
66
+
67
+
63
68
 
64
69
 
65
- <!-- Method Quickref -->
70
+ <!-- Method Quickref -->
66
71
  <div id="method-list-section" class="nav-section">
67
72
  <h3>Methods</h3>
68
73
 
69
74
  <ul class="link-list" role="directory">
70
-
71
75
  <li ><a href="#method-i-all_bookmarks">#all_bookmarks</a>
72
-
73
76
  <li ><a href="#method-i-bookmark_for">#bookmark_for</a>
74
-
75
77
  <li ><a href="#method-i-bookmark_from_app">#bookmark_from_app</a>
76
-
77
78
  <li ><a href="#method-i-clip_bookmark">#clip_bookmark</a>
78
-
79
79
  <li ><a href="#method-i-clone_hooks">#clone_hooks</a>
80
-
81
80
  <li ><a href="#method-i-copy_bookmark">#copy_bookmark</a>
82
-
81
+ <li ><a href="#method-i-decode">#decode</a>
83
82
  <li ><a href="#method-i-delete_all_hooks">#delete_all_hooks</a>
84
-
85
83
  <li ><a href="#method-i-delete_hooks">#delete_hooks</a>
86
-
84
+ <li ><a href="#method-i-encode">#encode</a>
87
85
  <li ><a href="#method-i-format_regex">#format_regex</a>
88
-
89
86
  <li ><a href="#method-i-get_hooks">#get_hooks</a>
90
-
91
87
  <li ><a href="#method-i-link_all">#link_all</a>
92
-
93
88
  <li ><a href="#method-i-link_files">#link_files</a>
94
-
95
89
  <li ><a href="#method-i-linked_bookmarks">#linked_bookmarks</a>
96
-
97
90
  <li ><a href="#method-i-open_gui">#open_gui</a>
98
-
99
91
  <li ><a href="#method-i-open_linked">#open_linked</a>
100
-
101
92
  <li ><a href="#method-i-output_array">#output_array</a>
102
-
103
93
  <li ><a href="#method-i-search_bookmarks">#search_bookmarks</a>
104
-
105
94
  <li ><a href="#method-i-search_name">#search_name</a>
106
-
107
95
  <li ><a href="#method-i-search_path_or_address">#search_path_or_address</a>
108
-
109
96
  <li ><a href="#method-i-select_hook">#select_hook</a>
110
-
111
97
  <li ><a href="#method-i-validate_format">#validate_format</a>
112
-
113
98
  </ul>
114
99
  </div>
115
100
 
116
101
  </div>
117
102
  </nav>
118
103
 
119
- <main role="main" aria-labelledby="module-HookApp">
120
- <h1 id="module-HookApp" class="module">
121
- module HookApp
104
+ <main role="main" aria-labelledby="class-HookApp">
105
+ <h1 id="class-HookApp" class="class">
106
+ class HookApp
122
107
  </h1>
123
108
 
124
109
  <section class="description">
@@ -127,41 +112,27 @@
127
112
 
128
113
  </section>
129
114
 
130
-
131
115
  <section id="5Buntitled-5D" class="documentation-section">
132
-
133
116
 
134
-
135
117
 
136
-
137
118
 
138
-
139
119
 
140
-
120
+
141
121
  <section id="public-instance-5Buntitled-5D-method-details" class="method-section">
142
122
  <header>
143
123
  <h3>Public Instance Methods</h3>
144
124
  </header>
145
125
 
146
-
147
126
  <div id="method-i-all_bookmarks" class="method-detail ">
148
-
149
127
  <div class="method-heading">
150
128
  <span class="method-name">all_bookmarks</span><span
151
129
  class="method-args">()</span>
152
-
153
130
  <span class="method-click-advice">click to toggle source</span>
154
-
155
131
  </div>
156
-
157
132
 
158
133
  <div class="method-description">
159
-
160
134
  <p>Get all known bookmarks. Return array of bookmark hashes.</p>
161
-
162
-
163
135
 
164
-
165
136
  <div class="method-source-code" id="all_bookmarks-source">
166
137
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 140</span>
167
138
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">all_bookmarks</span>
@@ -180,33 +151,21 @@
180
151
  APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
181
152
  <span class="ruby-keyword">end</span></pre>
182
153
  </div>
183
-
184
154
  </div>
185
155
 
186
-
187
156
 
188
-
189
157
  </div>
190
158
 
191
-
192
159
  <div id="method-i-bookmark_for" class="method-detail ">
193
-
194
160
  <div class="method-heading">
195
161
  <span class="method-name">bookmark_for</span><span
196
162
  class="method-args">(url)</span>
197
-
198
163
  <span class="method-click-advice">click to toggle source</span>
199
-
200
164
  </div>
201
-
202
165
 
203
166
  <div class="method-description">
204
-
205
167
  <p>Get a <a href="Hook.html"><code>Hook</code></a> bookmark for file or URL. Return bookmark hash.</p>
206
-
207
-
208
168
 
209
-
210
169
  <div class="method-source-code" id="bookmark_for-source">
211
170
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 32</span>
212
171
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bookmark_for</span>(<span class="ruby-identifier">url</span>)
@@ -232,33 +191,21 @@
232
191
  <span class="ruby-identifier">mark</span>.<span class="ruby-identifier">split_hook</span>
233
192
  <span class="ruby-keyword">end</span></pre>
234
193
  </div>
235
-
236
194
  </div>
237
195
 
238
-
239
196
 
240
-
241
197
  </div>
242
198
 
243
-
244
199
  <div id="method-i-bookmark_from_app" class="method-detail ">
245
-
246
200
  <div class="method-heading">
247
201
  <span class="method-name">bookmark_from_app</span><span
248
202
  class="method-args">(app, opts)</span>
249
-
250
203
  <span class="method-click-advice">click to toggle source</span>
251
-
252
204
  </div>
253
-
254
205
 
255
206
  <div class="method-description">
256
-
257
207
  <p>Get a bookmark from the foreground document of specified app.</p>
258
-
259
-
260
208
 
261
-
262
209
  <div class="method-source-code" id="bookmark_from_app-source">
263
210
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 81</span>
264
211
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">bookmark_from_app</span>(<span class="ruby-identifier">app</span>, <span class="ruby-identifier">opts</span>)
@@ -283,33 +230,21 @@
283
230
  <span class="ruby-keyword">end</span>
284
231
  <span class="ruby-keyword">end</span></pre>
285
232
  </div>
286
-
287
233
  </div>
288
234
 
289
-
290
235
 
291
-
292
236
  </div>
293
237
 
294
-
295
238
  <div id="method-i-clip_bookmark" class="method-detail ">
296
-
297
239
  <div class="method-heading">
298
240
  <span class="method-name">clip_bookmark</span><span
299
241
  class="method-args">(url, opts)</span>
300
-
301
242
  <span class="method-click-advice">click to toggle source</span>
302
-
303
243
  </div>
304
-
305
244
 
306
245
  <div class="method-description">
307
-
308
246
  <p>Create a bookmark for specified file/url and copy to the clipboard.</p>
309
-
310
-
311
247
 
312
-
313
248
  <div class="method-source-code" id="clip_bookmark-source">
314
249
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 181</span>
315
250
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clip_bookmark</span>(<span class="ruby-identifier">url</span>, <span class="ruby-identifier">opts</span>)
@@ -317,35 +252,23 @@
317
252
  <span class="ruby-identifier">copy_bookmark</span>(<span class="ruby-identifier">mark</span>[<span class="ruby-value">:name</span>], <span class="ruby-identifier">mark</span>[<span class="ruby-value">:url</span>], <span class="ruby-identifier">opts</span>)
318
253
  <span class="ruby-keyword">end</span></pre>
319
254
  </div>
320
-
321
255
  </div>
322
256
 
323
-
324
257
 
325
-
326
258
  </div>
327
259
 
328
-
329
260
  <div id="method-i-clone_hooks" class="method-detail ">
330
-
331
261
  <div class="method-heading">
332
262
  <span class="method-name">clone_hooks</span><span
333
263
  class="method-args">(args)</span>
334
-
335
264
  <span class="method-click-advice">click to toggle source</span>
336
-
337
265
  </div>
338
-
339
266
 
340
267
  <div class="method-description">
341
-
342
268
  <p>Copy all hooks from source file to target file</p>
343
-
344
-
345
269
 
346
-
347
270
  <div class="method-source-code" id="clone_hooks-source">
348
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 314</span>
271
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 313</span>
349
272
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">clone_hooks</span>(<span class="ruby-identifier">args</span>)
350
273
  <span class="ruby-identifier">target</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>.<span class="ruby-identifier">valid_hook</span>
351
274
  <span class="ruby-identifier">source</span> = <span class="ruby-identifier">args</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">valid_hook</span>
@@ -368,33 +291,21 @@
368
291
  <span class="ruby-keyword">end</span>
369
292
  <span class="ruby-keyword">end</span></pre>
370
293
  </div>
371
-
372
294
  </div>
373
295
 
374
-
375
296
 
376
-
377
297
  </div>
378
298
 
379
-
380
299
  <div id="method-i-copy_bookmark" class="method-detail ">
381
-
382
300
  <div class="method-heading">
383
301
  <span class="method-name">copy_bookmark</span><span
384
302
  class="method-args">(title, url, opts)</span>
385
-
386
303
  <span class="method-click-advice">click to toggle source</span>
387
-
388
304
  </div>
389
-
390
305
 
391
306
  <div class="method-description">
392
-
393
307
  <p>Create a bookmark from specified title and url and copy to the clipboard.</p>
394
-
395
-
396
308
 
397
-
398
309
  <div class="method-source-code" id="copy_bookmark-source">
399
310
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 187</span>
400
311
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">copy_bookmark</span>(<span class="ruby-identifier">title</span>, <span class="ruby-identifier">url</span>, <span class="ruby-identifier">opts</span>)
@@ -405,39 +316,56 @@
405
316
  <span class="ruby-node">%(Copied #{opts[:markdown] ? &#39;Markdown link&#39; : &#39;Hook URL&#39;} for &#39;#{title}&#39; to clipboard)</span>
406
317
  <span class="ruby-keyword">end</span></pre>
407
318
  </div>
319
+ </div>
320
+
321
+
322
+ </div>
323
+
324
+ <div id="method-i-decode" class="method-detail ">
325
+ <div class="method-heading">
326
+ <span class="method-name">decode</span><span
327
+ class="method-args">(string)</span>
328
+ <span class="method-click-advice">click to toggle source</span>
329
+ </div>
330
+
331
+ <div class="method-description">
408
332
 
333
+
334
+ <div class="method-source-code" id="decode-source">
335
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 499</span>
336
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">decode</span>(<span class="ruby-identifier">string</span>)
337
+ <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
338
+ tell application &quot;Hook&quot;
339
+ percent decode &quot;#{string.escape_quotes}&quot;
340
+ end tell
341
+ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>
342
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">result</span>
343
+ <span class="ruby-keyword">end</span></pre>
344
+ </div>
409
345
  </div>
410
346
 
411
-
412
347
 
413
-
414
348
  </div>
415
349
 
416
-
417
350
  <div id="method-i-delete_all_hooks" class="method-detail ">
418
-
419
351
  <div class="method-heading">
420
352
  <span class="method-name">delete_all_hooks</span><span
421
- class="method-args">(url)</span>
422
-
353
+ class="method-args">(url, force: false)</span>
423
354
  <span class="method-click-advice">click to toggle source</span>
424
-
425
355
  </div>
426
-
427
356
 
428
357
  <div class="method-description">
429
-
430
358
  <p>Delete all hooked files/urls from target file</p>
431
-
432
-
433
359
 
434
-
435
360
  <div class="method-source-code" id="delete_all_hooks-source">
436
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 337</span>
437
- <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_all_hooks</span>(<span class="ruby-identifier">url</span>)
438
- <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Are you sure you want to delete ALL hooks from #{url} (y/N)? &quot;</span>
439
- <span class="ruby-identifier">res</span> = <span class="ruby-constant">STDIN</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">strip</span>
440
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^y/i</span>
361
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 336</span>
362
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_all_hooks</span>(<span class="ruby-identifier">url</span>, <span class="ruby-value">force:</span> <span class="ruby-keyword">false</span>)
363
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">force</span>
364
+ <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">print</span> <span class="ruby-node">&quot;Are you sure you want to delete ALL hooks from #{url} (y/N)? &quot;</span>
365
+ <span class="ruby-identifier">res</span> = <span class="ruby-constant">STDIN</span>.<span class="ruby-identifier">gets</span>.<span class="ruby-identifier">strip</span>
366
+ <span class="ruby-keyword">end</span>
367
+
368
+ <span class="ruby-keyword">if</span> <span class="ruby-identifier">res</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^y/i</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">force</span>
441
369
  <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">hook</span><span class="ruby-operator">|</span>
442
370
  <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
443
371
  tell application &quot;Hook&quot;
@@ -452,35 +380,23 @@
452
380
  <span class="ruby-keyword">end</span>
453
381
  <span class="ruby-keyword">end</span></pre>
454
382
  </div>
455
-
456
383
  </div>
457
384
 
458
-
459
385
 
460
-
461
386
  </div>
462
387
 
463
-
464
388
  <div id="method-i-delete_hooks" class="method-detail ">
465
-
466
389
  <div class="method-heading">
467
390
  <span class="method-name">delete_hooks</span><span
468
391
  class="method-args">(args, opts)</span>
469
-
470
392
  <span class="method-click-advice">click to toggle source</span>
471
-
472
393
  </div>
473
-
474
394
 
475
395
  <div class="method-description">
476
-
477
396
  <p>Delete hooks between two files/urls</p>
478
-
479
-
480
397
 
481
-
482
398
  <div class="method-source-code" id="delete_hooks-source">
483
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 356</span>
399
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 358</span>
484
400
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">delete_hooks</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">opts</span>)
485
401
  <span class="ruby-identifier">urls</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">map</span>(<span class="ruby-operator">&amp;</span><span class="ruby-value">:valid_hook</span>).<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">url</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">url</span> }
486
402
  <span class="ruby-identifier">output</span> = []
@@ -488,7 +404,7 @@
488
404
  <span class="ruby-identifier">urls</span>.<span class="ruby-identifier">each_with_index</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">url</span>, <span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
489
405
  <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Invalid target: #{args[i]}&quot;</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">url</span>
490
406
 
491
- <span class="ruby-identifier">output</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">delete_all_hooks</span>(<span class="ruby-identifier">url</span>))
407
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">push</span>(<span class="ruby-identifier">delete_all_hooks</span>(<span class="ruby-identifier">url</span>, <span class="ruby-value">force:</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:force</span>]))
492
408
  <span class="ruby-keyword">end</span>
493
409
  <span class="ruby-keyword">return</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;\n&quot;</span>)
494
410
  <span class="ruby-keyword">end</span>
@@ -510,33 +426,47 @@
510
426
  <span class="ruby-keyword">end</span>
511
427
  <span class="ruby-keyword">end</span></pre>
512
428
  </div>
429
+ </div>
430
+
431
+
432
+ </div>
433
+
434
+ <div id="method-i-encode" class="method-detail ">
435
+ <div class="method-heading">
436
+ <span class="method-name">encode</span><span
437
+ class="method-args">(string)</span>
438
+ <span class="method-click-advice">click to toggle source</span>
439
+ </div>
440
+
441
+ <div class="method-description">
513
442
 
443
+
444
+ <div class="method-source-code" id="encode-source">
445
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 490</span>
446
+ <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">encode</span>(<span class="ruby-identifier">string</span>)
447
+ <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
448
+ tell application &quot;Hook&quot;
449
+ percent encode &quot;#{string.escape_quotes}&quot;
450
+ end tell
451
+ APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp">/&#39;/</span>,<span class="ruby-string">&#39;%27&#39;</span>)
452
+ <span class="ruby-identifier">print</span> <span class="ruby-identifier">result</span>
453
+ <span class="ruby-keyword">end</span></pre>
454
+ </div>
514
455
  </div>
515
456
 
516
-
517
457
 
518
-
519
458
  </div>
520
459
 
521
-
522
460
  <div id="method-i-format_regex" class="method-detail ">
523
-
524
461
  <div class="method-heading">
525
462
  <span class="method-name">format_regex</span><span
526
463
  class="method-args">(options)</span>
527
-
528
464
  <span class="method-click-advice">click to toggle source</span>
529
-
530
465
  </div>
531
-
532
466
 
533
467
  <div class="method-description">
534
-
535
468
  <p>Create a single regex for validation of an array by first char or full match.</p>
536
-
537
-
538
469
 
539
-
540
470
  <div class="method-source-code" id="format_regex-source">
541
471
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 9</span>
542
472
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">format_regex</span>(<span class="ruby-identifier">options</span>)
@@ -545,33 +475,21 @@
545
475
  <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;^(#{fmt_rx_array.join(&#39;|&#39;)})$&quot;</span>,<span class="ruby-string">&#39;i&#39;</span>)
546
476
  <span class="ruby-keyword">end</span></pre>
547
477
  </div>
548
-
549
478
  </div>
550
479
 
551
-
552
480
 
553
-
554
481
  </div>
555
482
 
556
-
557
483
  <div id="method-i-get_hooks" class="method-detail ">
558
-
559
484
  <div class="method-heading">
560
485
  <span class="method-name">get_hooks</span><span
561
486
  class="method-args">(url)</span>
562
-
563
487
  <span class="method-click-advice">click to toggle source</span>
564
-
565
488
  </div>
566
-
567
489
 
568
490
  <div class="method-description">
569
-
570
491
  <p>Get bookmarks hooked to file or URL. Return array of bookmark hashes.</p>
571
-
572
-
573
492
 
574
-
575
493
  <div class="method-source-code" id="get_hooks-source">
576
494
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 56</span>
577
495
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">get_hooks</span>(<span class="ruby-identifier">url</span>)
@@ -598,35 +516,23 @@
598
516
  <span class="ruby-identifier">hooks</span>.<span class="ruby-identifier">split_hooks</span>
599
517
  <span class="ruby-keyword">end</span></pre>
600
518
  </div>
601
-
602
519
  </div>
603
520
 
604
-
605
521
 
606
-
607
522
  </div>
608
523
 
609
-
610
524
  <div id="method-i-link_all" class="method-detail ">
611
-
612
525
  <div class="method-heading">
613
526
  <span class="method-name">link_all</span><span
614
527
  class="method-args">(args)</span>
615
-
616
528
  <span class="method-click-advice">click to toggle source</span>
617
-
618
529
  </div>
619
-
620
530
 
621
531
  <div class="method-description">
622
-
623
532
  <p>Create bi-directional links between every file/url in the list of arguments</p>
624
-
625
-
626
533
 
627
-
628
534
  <div class="method-source-code" id="link_all-source">
629
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 386</span>
535
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 388</span>
630
536
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_all</span>(<span class="ruby-identifier">args</span>)
631
537
  <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
632
538
  <span class="ruby-identifier">source</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">valid_hook</span>
@@ -645,35 +551,23 @@
645
551
  <span class="ruby-node">&quot;Linked #{args.length} files to each other&quot;</span>
646
552
  <span class="ruby-keyword">end</span></pre>
647
553
  </div>
648
-
649
554
  </div>
650
555
 
651
-
652
556
 
653
-
654
557
  </div>
655
558
 
656
-
657
559
  <div id="method-i-link_files" class="method-detail ">
658
-
659
560
  <div class="method-heading">
660
561
  <span class="method-name">link_files</span><span
661
562
  class="method-args">(args)</span>
662
-
663
563
  <span class="method-click-advice">click to toggle source</span>
664
-
665
564
  </div>
666
-
667
565
 
668
566
  <div class="method-description">
669
-
670
567
  <p>Link 2 or more files/urls with bi-directional hooks.</p>
671
-
672
-
673
568
 
674
-
675
569
  <div class="method-source-code" id="link_files-source">
676
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 291</span>
570
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 290</span>
677
571
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">link_files</span>(<span class="ruby-identifier">args</span>)
678
572
  <span class="ruby-identifier">target</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span>
679
573
  <span class="ruby-identifier">target</span>.<span class="ruby-identifier">valid_hook!</span>
@@ -696,35 +590,23 @@
696
590
  <span class="ruby-node">&quot;Linked #{args.length} files to #{target}&quot;</span>
697
591
  <span class="ruby-keyword">end</span></pre>
698
592
  </div>
699
-
700
593
  </div>
701
594
 
702
-
703
595
 
704
-
705
596
  </div>
706
597
 
707
-
708
598
  <div id="method-i-linked_bookmarks" class="method-detail ">
709
-
710
599
  <div class="method-heading">
711
600
  <span class="method-name">linked_bookmarks</span><span
712
601
  class="method-args">(args, opts)</span>
713
-
714
602
  <span class="method-click-advice">click to toggle source</span>
715
-
716
603
  </div>
717
-
718
604
 
719
605
  <div class="method-description">
720
-
721
606
  <p>Get a list of all hooks on a file/url.</p>
722
-
723
-
724
607
 
725
-
726
608
  <div class="method-source-code" id="linked_bookmarks-source">
727
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 405</span>
609
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 407</span>
728
610
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">linked_bookmarks</span>(<span class="ruby-identifier">args</span>, <span class="ruby-identifier">opts</span>)
729
611
  <span class="ruby-identifier">result</span> = []
730
612
 
@@ -754,7 +636,7 @@
754
636
  <span class="ruby-identifier">hooks_arr</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>)
755
637
 
756
638
  <span class="ruby-identifier">output</span> = <span class="ruby-identifier">output_array</span>(<span class="ruby-identifier">hooks_arr</span>, <span class="ruby-identifier">opts</span>)
757
- <span class="ruby-identifier">result</span>.<span class="ruby-identifier">push</span>({ <span class="ruby-value">file:</span> <span class="ruby-identifier">filename</span>, <span class="ruby-value">links:</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) })
639
+ <span class="ruby-identifier">result</span>.<span class="ruby-identifier">push</span>({ <span class="ruby-value">file:</span> <span class="ruby-identifier">filename</span>, <span class="ruby-value">links:</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) }) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
758
640
  <span class="ruby-keyword">end</span>
759
641
 
760
642
 
@@ -771,35 +653,23 @@
771
653
  <span class="ruby-identifier">result</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>)
772
654
  <span class="ruby-keyword">end</span></pre>
773
655
  </div>
774
-
775
656
  </div>
776
657
 
777
-
778
658
 
779
-
780
659
  </div>
781
660
 
782
-
783
661
  <div id="method-i-open_gui" class="method-detail ">
784
-
785
662
  <div class="method-heading">
786
663
  <span class="method-name">open_gui</span><span
787
664
  class="method-args">(url)</span>
788
-
789
665
  <span class="method-click-advice">click to toggle source</span>
790
-
791
666
  </div>
792
-
793
667
 
794
668
  <div class="method-description">
795
-
796
669
  <p>Open the <a href="Hook.html"><code>Hook</code></a> GUI for browsing/performing actions on a file or url</p>
797
-
798
-
799
670
 
800
-
801
671
  <div class="method-source-code" id="open_gui-source">
802
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 262</span>
672
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 259</span>
803
673
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_gui</span>(<span class="ruby-identifier">url</span>)
804
674
  <span class="ruby-identifier">result</span> = <span class="ruby-node">`osascript &lt;&lt;&#39;APPLESCRIPT&#39;
805
675
  tell application &quot;Hook&quot;
@@ -815,76 +685,54 @@
815
685
  <span class="ruby-identifier">raise</span> <span class="ruby-identifier">result</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">result</span>.<span class="ruby-identifier">empty?</span>
816
686
  <span class="ruby-keyword">end</span></pre>
817
687
  </div>
818
-
819
688
  </div>
820
689
 
821
-
822
690
 
823
-
824
691
  </div>
825
692
 
826
-
827
693
  <div id="method-i-open_linked" class="method-detail ">
828
-
829
694
  <div class="method-heading">
830
695
  <span class="method-name">open_linked</span><span
831
696
  class="method-args">(url)</span>
832
-
833
697
  <span class="method-click-advice">click to toggle source</span>
834
-
835
698
  </div>
836
-
837
699
 
838
700
  <div class="method-description">
839
-
840
701
  <p>Select from a menu of available hooks and open using macOS `open`.</p>
841
-
842
-
843
702
 
844
-
845
703
  <div class="method-source-code" id="open_linked-source">
846
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 278</span>
704
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 275</span>
847
705
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">open_linked</span>(<span class="ruby-identifier">url</span>)
848
706
  <span class="ruby-identifier">marks</span> = <span class="ruby-identifier">get_hooks</span>(<span class="ruby-identifier">url</span>)
849
707
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">marks</span>.<span class="ruby-identifier">empty?</span>
850
708
  <span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;No hooks found for #{url}&quot;</span>
851
709
  <span class="ruby-keyword">else</span>
852
710
  <span class="ruby-identifier">res</span> = <span class="ruby-identifier">select_hook</span>(<span class="ruby-identifier">marks</span>)
853
- <span class="ruby-identifier">res</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">mark</span><span class="ruby-operator">|</span>
854
- <span class="ruby-node">`open &#39;#{mark[:url]}&#39;`</span>
855
- }
711
+ <span class="ruby-keyword">unless</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">empty?</span>
712
+ <span class="ruby-identifier">res</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">mark</span><span class="ruby-operator">|</span>
713
+ <span class="ruby-node">`open &#39;#{mark[:url]}&#39;`</span>
714
+ }
715
+ <span class="ruby-keyword">end</span>
856
716
  <span class="ruby-keyword">end</span>
857
717
  <span class="ruby-keyword">end</span></pre>
858
718
  </div>
859
-
860
719
  </div>
861
720
 
862
-
863
721
 
864
-
865
722
  </div>
866
723
 
867
-
868
724
  <div id="method-i-output_array" class="method-detail ">
869
-
870
725
  <div class="method-heading">
871
726
  <span class="method-name">output_array</span><span
872
727
  class="method-args">(hooks_arr, opts)</span>
873
-
874
728
  <span class="method-click-advice">click to toggle source</span>
875
-
876
729
  </div>
877
-
878
730
 
879
731
  <div class="method-description">
880
-
881
732
  <p>Output an array of hooks in the given format.</p>
882
-
883
-
884
733
 
885
-
886
734
  <div class="method-source-code" id="output_array-source">
887
- <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 452</span>
735
+ <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 454</span>
888
736
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">output_array</span>(<span class="ruby-identifier">hooks_arr</span>, <span class="ruby-identifier">opts</span>)
889
737
  <span class="ruby-keyword">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">hooks_arr</span>.<span class="ruby-identifier">empty?</span>
890
738
  <span class="ruby-identifier">hooks_arr</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-value">:path</span>].<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">h</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">==</span> <span class="ruby-string">&#39;&#39;</span> } <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:files_only</span>]
@@ -915,39 +763,27 @@
915
763
  <span class="ruby-keyword">end</span>
916
764
  <span class="ruby-keyword">end</span>
917
765
  <span class="ruby-keyword">else</span>
918
- <span class="ruby-identifier">output</span> = [<span class="ruby-string">&#39;No bookmarks&#39;</span>]
766
+ <span class="ruby-identifier">warn</span> <span class="ruby-string">&#39;No bookmarks&#39;</span>
919
767
  <span class="ruby-keyword">end</span>
920
768
 
921
769
  <span class="ruby-identifier">output</span>
922
770
  <span class="ruby-keyword">end</span></pre>
923
771
  </div>
924
-
925
772
  </div>
926
773
 
927
-
928
774
 
929
-
930
775
  </div>
931
776
 
932
-
933
777
  <div id="method-i-search_bookmarks" class="method-detail ">
934
-
935
778
  <div class="method-heading">
936
779
  <span class="method-name">search_bookmarks</span><span
937
780
  class="method-args">(search, opts)</span>
938
-
939
781
  <span class="method-click-advice">click to toggle source</span>
940
-
941
782
  </div>
942
-
943
783
 
944
784
  <div class="method-description">
945
-
946
785
  <p>Search bookmarks, using both names and addresses unless options contain “:names_only”. Return results as formatted list.</p>
947
-
948
-
949
786
 
950
-
951
787
  <div class="method-source-code" id="search_bookmarks-source">
952
788
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 158</span>
953
789
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_bookmarks</span>(<span class="ruby-identifier">search</span>, <span class="ruby-identifier">opts</span>)
@@ -966,39 +802,27 @@
966
802
  <span class="ruby-identifier">output</span> = <span class="ruby-identifier">output_array</span>(<span class="ruby-identifier">result</span>, <span class="ruby-identifier">opts</span>)
967
803
 
968
804
  <span class="ruby-keyword">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:format</span>] <span class="ruby-operator">=~</span> <span class="ruby-regexp">/^v/</span>
969
- <span class="ruby-node">&quot;Search results for: #{search}\n---------\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;\n&quot;</span>)
805
+ <span class="ruby-node">&quot;Search results for: #{search}\n---------\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-string">&quot;\n&quot;</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
970
806
  <span class="ruby-keyword">else</span>
971
- <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>)
807
+ <span class="ruby-identifier">output</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">separator</span>) <span class="ruby-keyword">if</span> <span class="ruby-identifier">output</span>
972
808
  <span class="ruby-keyword">end</span>
973
809
  <span class="ruby-keyword">end</span></pre>
974
810
  </div>
975
-
976
811
  </div>
977
812
 
978
-
979
813
 
980
-
981
814
  </div>
982
815
 
983
-
984
816
  <div id="method-i-search_name" class="method-detail ">
985
-
986
817
  <div class="method-heading">
987
818
  <span class="method-name">search_name</span><span
988
819
  class="method-args">(search)</span>
989
-
990
820
  <span class="method-click-advice">click to toggle source</span>
991
-
992
821
  </div>
993
-
994
822
 
995
823
  <div class="method-description">
996
-
997
824
  <p>Search boomark names/titles. Return array of bookmark hashes.</p>
998
-
999
-
1000
825
 
1001
-
1002
826
  <div class="method-source-code" id="search_name-source">
1003
827
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 104</span>
1004
828
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_name</span>(<span class="ruby-identifier">search</span>)
@@ -1018,33 +842,21 @@
1018
842
  APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
1019
843
  <span class="ruby-keyword">end</span></pre>
1020
844
  </div>
1021
-
1022
845
  </div>
1023
846
 
1024
-
1025
847
 
1026
-
1027
848
  </div>
1028
849
 
1029
-
1030
850
  <div id="method-i-search_path_or_address" class="method-detail ">
1031
-
1032
851
  <div class="method-heading">
1033
852
  <span class="method-name">search_path_or_address</span><span
1034
853
  class="method-args">(search)</span>
1035
-
1036
854
  <span class="method-click-advice">click to toggle source</span>
1037
-
1038
855
  </div>
1039
-
1040
856
 
1041
857
  <div class="method-description">
1042
-
1043
858
  <p>Search bookmark paths and addresses. Return array of bookmark hashes.</p>
1044
-
1045
-
1046
859
 
1047
-
1048
860
  <div class="method-source-code" id="search_path_or_address-source">
1049
861
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 122</span>
1050
862
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">search_path_or_address</span>(<span class="ruby-identifier">search</span>)
@@ -1064,33 +876,21 @@
1064
876
  APPLESCRIPT`</span>.<span class="ruby-identifier">strip</span>.<span class="ruby-identifier">split_hooks</span>
1065
877
  <span class="ruby-keyword">end</span></pre>
1066
878
  </div>
1067
-
1068
879
  </div>
1069
880
 
1070
-
1071
881
 
1072
-
1073
882
  </div>
1074
883
 
1075
-
1076
884
  <div id="method-i-select_hook" class="method-detail ">
1077
-
1078
885
  <div class="method-heading">
1079
886
  <span class="method-name">select_hook</span><span
1080
887
  class="method-args">(marks)</span>
1081
-
1082
888
  <span class="method-click-advice">click to toggle source</span>
1083
-
1084
889
  </div>
1085
-
1086
890
 
1087
891
  <div class="method-description">
1088
-
1089
892
  <p>Generate a menu of available hooks for selecting one or more hooks to operate on. Revamped to use `fzf`, which is embedded as `lib/helpers/fuzzyfilefinder` to avoid any conflicts. Allows multiple selections with tab key, and type-ahead fuzzy filtering of results.</p>
1090
-
1091
-
1092
893
 
1093
-
1094
894
  <div class="method-source-code" id="select_hook-source">
1095
895
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 198</span>
1096
896
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">select_hook</span>(<span class="ruby-identifier">marks</span>)
@@ -1131,7 +931,8 @@
1131
931
  <span class="ruby-identifier">raise</span> <span class="ruby-string">&quot;Error processing available hooks&quot;</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">empty?</span>
1132
932
 
1133
933
  <span class="ruby-identifier">args</span> = [<span class="ruby-string">&#39;--layout=reverse-list&#39;</span>,
1134
- <span class="ruby-string">&#39;--header=&quot;esc: cancel, tab: multi-select, return: open &gt; &quot;&#39;</span>,
934
+ <span class="ruby-string">&#39;--header=&quot;esc: cancel, tab: multi-select, ctrl-a: select all, return: open&quot;&#39;</span>,
935
+ <span class="ruby-string">&#39;--bind ctrl-a:select-all&#39;</span>,
1135
936
  <span class="ruby-string">&#39;--prompt=&quot; Select hooks &gt; &quot;&#39;</span>,
1136
937
  <span class="ruby-string">&#39;--multi&#39;</span>,
1137
938
  <span class="ruby-string">&#39;--tabstop=4&#39;</span>,
@@ -1144,45 +945,29 @@
1144
945
  <span class="ruby-identifier">fzf</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword">__FILE__</span>), <span class="ruby-string">&#39;../helpers/fuzzyfilefinder&#39;</span>)
1145
946
 
1146
947
  <span class="ruby-identifier">sel</span> = <span class="ruby-node">`echo #{Shellwords.escape(options.join(&quot;\n&quot;))} | &#39;#{fzf}&#39; #{args.join(&#39; &#39;)}`</span>.<span class="ruby-identifier">chomp</span>
1147
- <span class="ruby-identifier">res</span> = <span class="ruby-identifier">sel</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\n/</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
948
+ <span class="ruby-identifier">res</span> = <span class="ruby-identifier">sel</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\n/</span>).<span class="ruby-identifier">map</span> <span class="ruby-keyword">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
1148
949
  <span class="ruby-identifier">ps</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp">/\t/</span>)
1149
950
  { <span class="ruby-value">name:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">0</span>], <span class="ruby-value">path:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">1</span>], <span class="ruby-value">url:</span> <span class="ruby-identifier">ps</span>[<span class="ruby-value">2</span>] }
1150
- }
1151
-
1152
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">res</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
1153
- <span class="ruby-identifier">raise</span> <span class="ruby-string">&#39;Cancelled (empty response)&#39;</span>
1154
951
  <span class="ruby-keyword">end</span>
1155
952
 
1156
- <span class="ruby-identifier">res</span>
953
+ <span class="ruby-identifier">res</span> <span class="ruby-operator">||</span> []
1157
954
  <span class="ruby-keyword">end</span></pre>
1158
955
  </div>
1159
-
1160
956
  </div>
1161
957
 
1162
-
1163
958
 
1164
-
1165
959
  </div>
1166
960
 
1167
-
1168
961
  <div id="method-i-validate_format" class="method-detail ">
1169
-
1170
962
  <div class="method-heading">
1171
963
  <span class="method-name">validate_format</span><span
1172
964
  class="method-args">(fmt, options)</span>
1173
-
1174
965
  <span class="method-click-advice">click to toggle source</span>
1175
-
1176
966
  </div>
1177
-
1178
967
 
1179
968
  <div class="method-description">
1180
-
1181
969
  <p>Check if format fully matches or matches the first character of available options. Return full valid format or nil</p>
1182
-
1183
-
1184
970
 
1185
-
1186
971
  <div class="method-source-code" id="validate_format-source">
1187
972
  <pre><span class="ruby-comment"># File lib/hook/hookapp.rb, line 18</span>
1188
973
  <span class="ruby-keyword">def</span> <span class="ruby-identifier ruby-title">validate_format</span>(<span class="ruby-identifier">fmt</span>, <span class="ruby-identifier">options</span>)
@@ -1198,25 +983,20 @@
1198
983
  <span class="ruby-identifier">valid_format</span>
1199
984
  <span class="ruby-keyword">end</span></pre>
1200
985
  </div>
1201
-
1202
986
  </div>
1203
987
 
1204
-
1205
988
 
1206
-
1207
989
  </div>
1208
990
 
1209
-
1210
991
  </section>
1211
-
1212
- </section>
1213
992
 
993
+ </section>
1214
994
  </main>
1215
995
 
1216
996
 
1217
997
  <footer id="validator-badges" role="contentinfo">
1218
998
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
1219
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.
999
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.3.2.
1220
1000
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
1221
1001
  </footer>
1222
1002