pennyworth 13.3.0 → 13.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/README.adoc +131 -243
- data/lib/pennyworth/cli/actions/container.rb +0 -2
- data/lib/pennyworth/configuration/defaults.yml +1 -1
- data/lib/pennyworth/integrations/git_hub/client.rb +1 -1
- data/lib/pennyworth/presenters/gem.rb +4 -8
- data/lib/pennyworth/serializers/encoding.rb +5 -3
- data/pennyworth.gemspec +8 -8
- data.tar.gz.sig +0 -0
- metadata +17 -17
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d00f84e5dc1ece096a1950ee168dbf76ea551767619dcc583620319fd005c50
|
4
|
+
data.tar.gz: a3aee8ceac26d5fb99e196614e05737f852f02738b0ec1ec45528cf6bc12e1a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e652c6d2b24776b76ccae5ebdb2c6f028152288a925891069c45323202ef42694a56dbef88e7b4fd88ab93f984f005302d45ecb590167511ad4413fe00aa164
|
7
|
+
data.tar.gz: e28013022143e8601dcd8928cf815801fc15a515257840173b4e0d09773c1852d8f800498f50327ae1b39c37160e7cb20194adafd00825cbd1e119c3fc8bbade
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/README.adoc
CHANGED
@@ -2,13 +2,14 @@
|
|
2
2
|
:toclevels: 5
|
3
3
|
:figure-caption!:
|
4
4
|
|
5
|
-
:
|
5
|
+
:bash_link: link:https://www.gnu.org/software/bash[Bash]
|
6
|
+
:ruby_version_managers_link: link:https://www.alchemists.io/articles/ruby_version_managers[Ruby Version Manager]
|
6
7
|
|
7
8
|
= Pennyworth
|
8
9
|
|
9
10
|
Pennyworth is a command line interface and the perfect companion to
|
10
11
|
link:https://www.alfredapp.com[Alfred]. With Pennyworth, you can unlock the full potential of the
|
11
|
-
Ruby language by leveraging modern
|
12
|
+
Ruby language by leveraging a modern version of Ruby through Alfred Workflows. Perfect for when you
|
12
13
|
want to advance beyond the basic workflows Alfred provides by default.
|
13
14
|
|
14
15
|
toc::[]
|
@@ -21,25 +22,19 @@ toc::[]
|
|
21
22
|
|
22
23
|
== Screencast
|
23
24
|
|
24
|
-
video::https://www.alchemists.io/videos/projects/pennyworth/demo.mp4[poster=https://www.alchemists.io/images/projects/pennyworth/demo.png,width=
|
25
|
+
video::https://www.alchemists.io/videos/projects/pennyworth/demo.mp4[poster=https://www.alchemists.io/images/projects/pennyworth/demo.png,width=706,height=632,role=focal_point]
|
25
26
|
|
26
27
|
== Requirements
|
27
28
|
|
28
29
|
. link:https://www.apple.com/macos[macOS]
|
29
|
-
.
|
30
|
+
. {bash_link}
|
30
31
|
. link:https://www.alfredapp.com[Alfred]
|
31
32
|
. link:https://www.alfredapp.com/purchase[Alfred Powerpack]
|
32
33
|
. link:https://www.ruby-lang.org[Ruby]
|
33
34
|
|
34
|
-
While using a
|
35
|
-
encouraged since a version manager will give you the freedom to toggle between different Ruby
|
36
|
-
versions since this gem has strict Ruby version requirements (especially in regards to using a
|
37
|
-
modern version of Ruby).
|
35
|
+
While using a {ruby_version_managers_link} is not a hard requirement, it is strongly encouraged since a version manager will give you the freedom to toggle between different Ruby versions since this gem has strict Ruby version requirements (especially in regards to using a modern version of Ruby).
|
38
36
|
|
39
|
-
|
40
|
-
syntax. That said, if you are comfortable with translating Bash syntax to your shell syntax of
|
41
|
-
choice, you can make this gem work in different shells too. That is beyond the scope of this
|
42
|
-
document, though, so leave that exercise up to you.
|
37
|
+
All of the workflows, scripts, examples for this gem use {bash_link} syntax. That said, if you are comfortable with translating Bash syntax to your shell syntax of choice, you can make this gem work in different shells too. That is beyond the scope of this document, though, so leave that exercise up to you.
|
43
38
|
|
44
39
|
== Setup
|
45
40
|
|
@@ -186,7 +181,7 @@ The default configuration is as follows:
|
|
186
181
|
:user:
|
187
182
|
:http:
|
188
183
|
:statuses:
|
189
|
-
:url: "https://
|
184
|
+
:url: "https://developer.mozilla.org/docs/Web/HTTP/Status"
|
190
185
|
:ruby_gems:
|
191
186
|
:api_url: "https://rubygems.org/api/v1"
|
192
187
|
:owner:
|
@@ -209,14 +204,9 @@ directly].
|
|
209
204
|
Not all workflows require Pennyworth to run properly (see the _Other_ section below for details).
|
210
205
|
For the workflows that _do_ require Pennyworth support, the following assumptions are made:
|
211
206
|
|
212
|
-
1. Your link:https://www.alchemists.io/projects/dotfiles[Dotfiles] are configured to use
|
213
|
-
link:https://www.gnu.org/software/bash[Bash] and load your environment appropriately. Bash is not
|
214
|
-
a hard requirement, though. You can use _any shell_ you are comfortable with as long as you teach
|
215
|
-
Alfred to load your development environment before running the Alfred Workflow.
|
207
|
+
1. Your link:https://www.alchemists.io/projects/dotfiles[Dotfiles] are configured to use {bash_link} and load your environment appropriately. Bash is not a hard requirement, though. You can use _any shell_ you are comfortable with as long as you teach Alfred to load your development environment before running the Alfred Workflow.
|
216
208
|
2. You have the latest version of Alfred, Ruby, and Pennyworth installed.
|
217
|
-
3. You are using a
|
218
|
-
As mentioned in the _Requirements_ section above, this is not a hard requirement so if you have
|
219
|
-
the correct version of Ruby required by this gem on your path, that'll work too.
|
209
|
+
3. You are using a {ruby_version_managers_link} which ensures Ruby is on your load path. As mentioned in the _Requirements_ section above, this is not a hard requirement so if you have the correct version of Ruby required by this gem on your path, that'll work too.
|
220
210
|
|
221
211
|
With the above requirements in mind, the following sections document how to download and install all
|
222
212
|
Pennyworth workflows that are compatible with Alfred. Should you want to tweak any of these
|
@@ -238,252 +228,106 @@ to all workflows depending on what kind of item is currently selected within the
|
|
238
228
|
|
239
229
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/alchemists-projects.png[Alchemists Projects,width=706,height=632,role=focal_point]
|
240
230
|
|
241
|
-
|
231
|
+
Provides quick access to link:https://www.alchemists.io[Alchemists] resources.
|
242
232
|
|
243
233
|
1. link:https://www.alchemists.io/public/alfred/workflows/alchemists.alfredworkflow[Download] and
|
244
234
|
double click to install.
|
245
|
-
2.
|
246
|
-
|
247
|
-
💡 Use `ENTER` to view site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
|
248
|
-
view issues.
|
235
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
249
236
|
|
250
237
|
==== Dry RB
|
251
238
|
|
252
239
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/dry-gems.png[Dry Gems,width=706,height=632,role=focal_point]
|
253
240
|
|
254
|
-
|
241
|
+
Provides quick access to link:https://dry-rb.org[Dry RB] resources.
|
255
242
|
|
256
243
|
1. link:https://www.alchemists.io/public/alfred/workflows/dry.alfredworkflow[Download] and double
|
257
244
|
click to install.
|
258
|
-
2.
|
259
|
-
|
260
|
-
💡 Use `ENTER` to visit site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
|
261
|
-
view issues.
|
245
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
262
246
|
|
263
|
-
====
|
247
|
+
==== RuboCop
|
264
248
|
|
265
249
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/rubocop-projects.png[Rubocop Projects,width=706,height=632,role=focal_point]
|
266
250
|
|
267
|
-
|
268
|
-
learning about project versions, viewing source code, etc.
|
251
|
+
Provides quick access to link:https://docs.rubocop.org/rubocop[RuboCop] resources.
|
269
252
|
|
270
253
|
1. link:https://www.alchemists.io/public/alfred/workflows/rubocop.alfredworkflow[Download] and
|
271
254
|
double click to install.
|
272
|
-
2.
|
273
|
-
|
274
|
-
💡 Use `ENTER` to view site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
|
275
|
-
view issues.
|
255
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
276
256
|
|
277
257
|
==== Ruby
|
278
258
|
|
279
|
-
|
280
|
-
link:https://www.alchemists.io/public/alfred/workflows/ruby.alfredworkflow[single download]. Once
|
281
|
-
downloaded, double click to install, and then continue reading to learn all of the
|
282
|
-
capabilities this single workflow provides.
|
283
|
-
|
284
|
-
===== Alphanumeric
|
285
|
-
|
286
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-alphanumeric.png[Alphanumeric,width=706,height=200,role=focal_point]
|
287
|
-
|
288
|
-
This keyword allows you to generate a random alphanumeric string.
|
289
|
-
|
290
|
-
Type `anum` to activate and `ENTER` generate. You can supply an optional number for specific length.
|
291
|
-
|
292
|
-
===== Base64
|
293
|
-
|
294
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-base64.png[Base64,width=706,height=200,role=focal_point]
|
295
|
-
|
296
|
-
This keyword allows you to generate a random Base64 string.
|
297
|
-
|
298
|
-
Type `b64` to activate and `ENTER` generate. You can supply an optional number for specific length.
|
299
|
-
|
300
|
-
===== Bytes
|
301
|
-
|
302
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-bytes.png[Bytes,width=706,height=200,role=focal_point]
|
303
|
-
|
304
|
-
This keyword allows you to generate random bytes.
|
305
|
-
|
306
|
-
Type `bytes` to activate and `ENTER` generate. You can supply an optional number for specific
|
307
|
-
length.
|
308
|
-
|
309
|
-
===== Encodings
|
310
|
-
|
311
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-encodings.png[Encodings,width=706,height=632,role=focal_point]
|
312
|
-
|
313
|
-
This keyword allows you to quickly search for various encodings and/or their associated aliases to
|
314
|
-
use in your own code.
|
315
|
-
|
316
|
-
Type `encodings` to activate. Use `ENTER` to copy label or `OPTION` to copy associated aliases to
|
317
|
-
clipboard.
|
318
|
-
|
319
|
-
===== Gems
|
320
|
-
|
321
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-gems.png[Gems,width=706,height=362,role=focal_point]
|
322
|
-
|
323
|
-
Provides access to the RubyGems ecosystem.
|
324
|
-
|
325
|
-
Type `gems` to activate. Use the arrow keys to navigate options and `ENTER` to use.
|
326
|
-
|
327
|
-
===== Hex
|
328
|
-
|
329
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-hex.png[Hex,width=706,height=200,role=focal_point]
|
330
|
-
|
331
|
-
This keyword allows you to generate a random hex string.
|
332
|
-
|
333
|
-
Type `hex` to activate and `ENTER` generate. You can supply an optional number for specific length.
|
334
|
-
|
335
|
-
===== HTTP Statuses
|
336
|
-
|
337
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-http_statuses.png[HTTP Statuses,width=706,height=632,role=focal_point]
|
338
|
-
|
339
|
-
This keyword allows you to look up statuses by code with quick access to the associated symbol for
|
340
|
-
use in your own code. Includes associated documentation for sharing or learning more. All HTTP
|
341
|
-
statuses are sourced from `Rack::Utils::HTTP_STATUS_CODES` which is why
|
342
|
-
link:https://rubygems.org/gems/rack[Rack] is a dependency of this gem and also why some codes might
|
343
|
-
not be present like these
|
344
|
-
link:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#Unofficial_codes[unofficial codes].
|
345
|
-
|
346
|
-
Type `https` to activate. Use `ENTER` to copy symbol, `CONTROL` to copy code, `OPTION` to copy
|
347
|
-
label, or `COMMAND` to view documentation.
|
348
|
-
|
349
|
-
===== Links
|
350
|
-
|
351
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-links.png[Links,width=706,height=632,role=focal_point]
|
352
|
-
|
353
|
-
This keyword allows you to navigate to additional Ruby related information and resources.
|
354
|
-
|
355
|
-
Type `rb` plus `SPACE` to activate, then fuzzy type to filter the list to what you are looking for,
|
356
|
-
and hit `ENTER` to visit the link in your default browser.
|
357
|
-
|
358
|
-
===== Number
|
359
|
-
|
360
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-number.png[Number,width=706,height=200,role=focal_point]
|
361
|
-
|
362
|
-
This keyword allows you to generate a random number.
|
363
|
-
|
364
|
-
Type `number` to activate and `ENTER` generate. You can supply an optional number for specific
|
365
|
-
length.
|
366
|
-
|
367
|
-
===== Repeat
|
368
|
-
|
369
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-repeat.png[Repeat,width=706,height=200,role=focal_point]
|
370
|
-
|
371
|
-
This keyword allows you to generate a repeating sequence of the same character(s).
|
372
|
-
|
373
|
-
Type `repeat` to activate and `ENTER` generate. You must supply the character(s) you want to repeat
|
374
|
-
followed by a number indicating how many times you want the character(s) to repeat.
|
375
|
-
|
376
|
-
===== Standard Errors
|
377
|
-
|
378
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-standard_errors.png[Standard Errors,width=706,height=632,role=focal_point]
|
379
|
-
|
380
|
-
This keyword allows you to list all subclasses of `StandardError`. Due to the dynamic nature of how
|
381
|
-
these subclasses are loaded, they are influenced by this gem's environment and dependencies which
|
382
|
-
can be either too narrow or too verbose. This list also includes system errors which have a
|
383
|
-
specialized workflow as described below. While this list can be long, it is alphabetically sorted
|
384
|
-
for quick filtering when fuzzy typing.
|
385
|
-
|
386
|
-
Type `stderr` to activate. Use `ENTER` to copy the subclass to clipboard, `CONTROL` to copy the
|
387
|
-
error name, or `OPTION` to copy the source path.
|
388
|
-
|
389
|
-
💡 The subclass source path might not always be available because not all subclasses are written in
|
390
|
-
Ruby but C instead. That said, when the source path does exist, you'll get the full path plus line
|
391
|
-
number in the format of `<source path>:<line number>` for easy loading within your editor of choice.
|
392
|
-
|
393
|
-
===== System Errors
|
394
|
-
|
395
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-system_errors.png[System Errors,width=706,height=632,role=focal_point]
|
396
|
-
|
397
|
-
This keyword allows you to search low-level system errors. Depending on which operating system you
|
398
|
-
are on, these errors will differ. Error IDs are provided for fuzzy searching since they are what
|
399
|
-
you'll most likely see in your stack dumps. The associated constant can be copied to clipboard for
|
400
|
-
use in your Ruby code.
|
401
|
-
|
402
|
-
Type `syserr` to activate. Use `ENTER` to copy constant, `CONTROL` to copy ID, `OPTION` to copy
|
403
|
-
description, or `COMMAND` to copy ID, name, and description.
|
404
|
-
|
405
|
-
===== System Signals
|
406
|
-
|
407
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-system_signals.png[System Signals,width=706,height=632,role=focal_point]
|
408
|
-
|
409
|
-
This keyword is for searching and acquiring the system signal you want to `trap` in your Ruby code.
|
259
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby.png[Ruby workflow screenshot,width=706,height=632,role=focal_point]
|
410
260
|
|
411
|
-
|
412
|
-
and name.
|
261
|
+
Provides quick access to link:https://www.ruby-lang.org[Ruby] resources.
|
413
262
|
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
This keyword is for is for basic text manipulation. Supply a string, phrase, or sentence and let
|
419
|
-
Pennyworth calculate all transformations and information you might need.
|
420
|
-
|
421
|
-
Type `text` to activate plus any string or phrase to transform. Use `ENTER` to copy text to
|
422
|
-
clipboard.
|
423
|
-
|
424
|
-
===== UUID
|
425
|
-
|
426
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-uuid.png[UUID,width=706,height=200,role=focal_point]
|
427
|
-
|
428
|
-
This keyword allows you to generate a random Universally Unique IDentifier (UUID).
|
429
|
-
|
430
|
-
Type `uuid` to activate and `ENTER` generate.
|
431
|
-
|
432
|
-
===== Version
|
433
|
-
|
434
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby-version.png[Version,width=706,height=254,role=focal_point]
|
435
|
-
|
436
|
-
This keyword allows you obtain Ruby version information.
|
437
|
-
|
438
|
-
Type `version` to activate and `ENTER` generate. Optionally, you can press `OPTION` when selected to
|
439
|
-
answer the Ruby version used by Alfred since Alfred defaults to using whatever version is supplied
|
440
|
-
by macOS.
|
263
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/ruby.alfredworkflow[Download] and
|
264
|
+
double click to install.
|
265
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
441
266
|
|
442
267
|
==== Other
|
443
268
|
|
444
|
-
The following workflows don't require
|
445
|
-
they are of interest/aid to your own productivity.
|
269
|
+
The following workflows don't require this gem to use but are provided for convenience in case they are of aid to your own productivity.
|
446
270
|
|
447
271
|
===== Acronyms
|
448
272
|
|
273
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/acronyms.png[Acronyms workflow screenshot.,width=1001,height=610,role=focal_point]
|
274
|
+
|
449
275
|
Expands acronyms so you can think and type in terms of an acronym but appear as if you typed out the
|
450
276
|
full definition each time.
|
451
277
|
|
452
278
|
1. link:https://www.alchemists.io/public/alfred/workflows/acronyms.alfredworkflow[Download] and
|
453
279
|
double click to install.
|
454
|
-
2.
|
280
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
455
281
|
|
456
282
|
===== Alpine
|
457
283
|
|
458
284
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/alpine.png[Alpine Linux workflow screenshot.,width=706,height=632,role=focal_point]
|
459
285
|
|
460
|
-
Provides link:https://www.alpinelinux.org[Alpine Linux] resources.
|
286
|
+
Provides quick access to link:https://www.alpinelinux.org[Alpine Linux] resources.
|
461
287
|
|
462
288
|
1. link:https://www.alchemists.io/public/alfred/workflows/alpine.alfredworkflow[Download] and double
|
463
289
|
click to install.
|
464
|
-
2.
|
290
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
465
291
|
|
466
292
|
===== Applications
|
467
293
|
|
468
294
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/applications.png[Applications workflow screenshot.,width=706,height=362,role=focal_point]
|
469
295
|
|
470
|
-
Launches
|
471
|
-
manner ensures your machine boots or restarts quickly and gives you more control over what is
|
472
|
-
launched.
|
296
|
+
Launches your engineering environment but can be tweaked to your preferences. Using Alfred in this manner ensures your machine boots quickly so you have more control over _what_ is launched.
|
473
297
|
|
474
298
|
1. link:https://www.alchemists.io/public/alfred/workflows/applications.alfredworkflow[Download] and
|
475
299
|
double click to install.
|
476
|
-
2.
|
300
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
301
|
+
|
302
|
+
===== Bash
|
303
|
+
|
304
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/bash.png[Bash workflow screenshot.,width=706,height=362,role=focal_point]
|
305
|
+
|
306
|
+
Provides quick access to link:https://www.gnu.org/software/bash[Bash] resources.
|
307
|
+
|
308
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/bash.alfredworkflow[Download] and
|
309
|
+
double click to install.
|
310
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
311
|
+
|
312
|
+
===== Bio
|
313
|
+
|
314
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/bio.png[Bio workflow screenshot.,width=706,height=200,role=focal_point]
|
315
|
+
|
316
|
+
Provides biographical calculations and information.
|
317
|
+
|
318
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/bio.alfredworkflow[Download] and
|
319
|
+
double click to install.
|
320
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
477
321
|
|
478
322
|
===== Browsers
|
479
323
|
|
480
324
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/browsers.png[Browsers workflow screenshot.,width=706,height=308,role=focal_point]
|
481
325
|
|
482
|
-
Provides browser
|
326
|
+
Provides quick access to browser resources.
|
483
327
|
|
484
328
|
1. link:https://www.alchemists.io/public/alfred/workflows/browsers.alfredworkflow[Download] and
|
485
329
|
double click to install.
|
486
|
-
2.
|
330
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
487
331
|
|
488
332
|
===== Bundler
|
489
333
|
|
@@ -493,121 +337,165 @@ Provides quick access to link:https://bundler.io[Bundler] related resources.
|
|
493
337
|
|
494
338
|
1. link:https://www.alchemists.io/public/alfred/workflows/bundler.alfredworkflow[Download] and
|
495
339
|
double click to install.
|
496
|
-
2.
|
340
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
341
|
+
|
342
|
+
===== Circle CI
|
343
|
+
|
344
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/circle_ci.png[Circle CI workflow screenshot.,width=706,height=416,role=focal_point]
|
345
|
+
|
346
|
+
Provides quick access to link:https://circleci.com/[Circle CI] resources.
|
347
|
+
|
348
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/circle_ci.alfredworkflow[Download] and
|
349
|
+
double click to install.
|
350
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
497
351
|
|
498
352
|
===== Crystal
|
499
353
|
|
500
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/crystal.png[Crystal workflow screenshot.,width=706,height=
|
354
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/crystal.png[Crystal workflow screenshot.,width=706,height=632,role=focal_point]
|
501
355
|
|
502
|
-
|
356
|
+
Provides quick access to link:https://crystal-lang.org[Crystal] resources.
|
503
357
|
|
504
358
|
1. link:https://www.alchemists.io/public/alfred/workflows/crystal.alfredworkflow[Download] and
|
505
359
|
double click to install.
|
506
|
-
2.
|
507
|
-
information.
|
360
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
508
361
|
|
509
362
|
===== CSS
|
510
363
|
|
511
364
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/css.png[CSS workflow screenshot.,width=706,height=470,role=focal_point]
|
512
365
|
|
513
|
-
|
366
|
+
Provides quick access to link:https://www.w3.org/Style/CSS/specs.en.html[CSS] resources.
|
514
367
|
|
515
368
|
1. link:https://www.alchemists.io/public/alfred/workflows/css.alfredworkflow[Download] and double
|
516
369
|
click to install.
|
517
|
-
2.
|
370
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
371
|
+
|
372
|
+
===== Docker
|
373
|
+
|
374
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/docker.png[Docker workflow screenshot.,width=706,height=470,role=focal_point]
|
375
|
+
|
376
|
+
Provides quick access to link:https://www.docker.com[Docker] resources.
|
377
|
+
|
378
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/docker.alfredworkflow[Download] and
|
379
|
+
double click to install.
|
380
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
518
381
|
|
519
382
|
===== Elm
|
520
383
|
|
521
384
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/elm.png[Elm workflow screenshot.,width=706,height=470,role=focal_point]
|
522
385
|
|
523
|
-
|
386
|
+
Provides quick access to link:https://elm-lang.org[Elm] resources.
|
524
387
|
|
525
388
|
1. link:https://www.alchemists.io/public/alfred/workflows/elm.alfredworkflow[Download] and double
|
526
389
|
click to install.
|
527
|
-
2.
|
390
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
528
391
|
|
529
392
|
===== GitHub
|
530
393
|
|
531
394
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/github.png[GitHub workflow screenshot.,width=706,height=632,role=focal_point]
|
532
395
|
|
533
|
-
Provides link:https://github.com[GitHub] resources.
|
396
|
+
Provides quick access to link:https://github.com[GitHub] resources.
|
534
397
|
|
535
398
|
1. link:https://www.alchemists.io/public/alfred/workflows/github.alfredworkflow[Download] and
|
536
399
|
double click to install.
|
537
|
-
2.
|
400
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
538
401
|
|
539
402
|
===== Hanami
|
540
403
|
|
541
404
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/hanami.png[Hanami workflow screenshot.,width=706,height=632,role=focal_point]
|
542
405
|
|
543
|
-
Provides link:https://hanamirb.org[Hanami] resources.
|
406
|
+
Provides quick access to link:https://hanamirb.org[Hanami] resources.
|
544
407
|
|
545
408
|
1. link:https://www.alchemists.io/public/alfred/workflows/hanami.alfredworkflow[Download] and
|
546
409
|
double click to install.
|
547
|
-
2.
|
410
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
548
411
|
|
549
|
-
=====
|
412
|
+
===== Jitsi
|
550
413
|
|
551
|
-
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/
|
414
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/jitsi.png[Jitsi workflow screenshot.,width=706,height=254,role=focal_point]
|
552
415
|
|
553
|
-
Provides link:https://
|
416
|
+
Provides quick access to link:https://jitsi.org[Jitsi] resources.
|
554
417
|
|
555
|
-
1. link:https://www.alchemists.io/public/alfred/workflows/
|
418
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/jitsi.alfredworkflow[Download] and
|
556
419
|
double click to install.
|
557
|
-
2.
|
420
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
558
421
|
|
559
422
|
===== macOS
|
560
423
|
|
561
|
-
|
424
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/mac_os.png[macOS workflow screenshot.,width=706,height=200,role=focal_point]
|
425
|
+
|
426
|
+
Provides quick access to macOS resources.
|
562
427
|
|
563
428
|
1. link:https://www.alchemists.io/public/alfred/workflows/mac_os.alfredworkflow[Download] and
|
564
429
|
double click to install.
|
565
|
-
2.
|
430
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
566
431
|
|
567
432
|
===== Rack
|
568
433
|
|
569
434
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/rack.png[Rack workflow screenshot.,width=706,height=470,role=focal_point]
|
570
435
|
|
571
|
-
|
436
|
+
Provides quick access to link:https://github.com/rack/rack[Rack] resources.
|
572
437
|
|
573
438
|
1. link:https://www.alchemists.io/public/alfred/workflows/rack.alfredworkflow[Download] and double
|
574
439
|
click to install.
|
575
|
-
2.
|
576
|
-
information.
|
440
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
577
441
|
|
578
442
|
===== RSpec
|
579
443
|
|
580
444
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/rspec.png[RSpec workflow screenshot.,width=706,height=362,role=focal_point]
|
581
445
|
|
582
|
-
|
446
|
+
Provides quick access to link:https://rspec.info[RSpec] resources.
|
583
447
|
|
584
448
|
1. link:https://www.alchemists.io/public/alfred/workflows/rspec.alfredworkflow[Download] and double
|
585
449
|
click to install.
|
586
|
-
2.
|
587
|
-
|
450
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
451
|
+
|
452
|
+
===== Ruby on Rails
|
453
|
+
|
454
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby_on_rails.png[Ruby on Rails workflow screenshot.,width=706,height=524,role=focal_point]
|
455
|
+
|
456
|
+
Provides access to link:https://https://rubyonrails.org[Ruby on Rails] resources.
|
457
|
+
|
458
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/ruby_on_rails.alfredworkflow[Download] and double click to install.
|
459
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
460
|
+
|
461
|
+
===== Slack
|
462
|
+
|
463
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/slack.png[Slack workflow screenshot.,width=706,height=524,role=focal_point]
|
464
|
+
|
465
|
+
Provides quick access to link:https://slack.com[Slack] resources.
|
466
|
+
|
467
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/slack.alfredworkflow[Download] and
|
468
|
+
double click to install.
|
469
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
470
|
+
|
471
|
+
===== SSL
|
472
|
+
|
473
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ssl.png[SSL workflow screenshot.,width=706,height=362,role=focal_point]
|
474
|
+
|
475
|
+
Provides quick access to SSL resources for the security conscious.
|
476
|
+
|
477
|
+
1. link:https://www.alchemists.io/public/alfred/workflows/ssl.alfredworkflow[Download] and double click to install.
|
478
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
588
479
|
|
589
480
|
===== Terraform
|
590
481
|
|
591
482
|
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/terraform.png[Terraform workflow screenshot.,width=706,height=632,role=focal_point]
|
592
483
|
|
593
|
-
Provides link:https://www.terraform.io[Terraform] resources.
|
484
|
+
Provides quick access to link:https://www.terraform.io[Terraform] resources.
|
594
485
|
|
595
486
|
1. link:https://www.alchemists.io/public/alfred/workflows/terraform.alfredworkflow[Download] and
|
596
487
|
double click to install.
|
597
|
-
2.
|
488
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
598
489
|
|
599
490
|
===== Text
|
600
491
|
|
601
|
-
|
602
|
-
|
492
|
+
image:https://www.alchemists.io/images/projects/pennyworth/screenshots/text.png[Text workflow screenshot.,width=1000,height=610,role=focal_point]
|
493
|
+
|
494
|
+
Provides general text manipulation utilities beyond the Pennyworth powered _text_ macro which is part of the _Ruby_ workflow (mentioned earlier).
|
603
495
|
|
604
496
|
1. link:https://www.alchemists.io/public/alfred/workflows/text.alfredworkflow[Download] and
|
605
497
|
double click to install.
|
606
|
-
2.
|
607
|
-
** `CONTROL + OPTION + COMMAND + o` - Open selected URL in default browser.
|
608
|
-
** `CONTROL + OPTION + COMMAND + d` - View selected word in macOS dictionary.
|
609
|
-
** `CONTROL + OPTION + COMMAND + t` - View selected text as Large Type.
|
610
|
-
** `CONTROL + OPTION + COMMAND + h` - Syntax highlight selected code.
|
498
|
+
2. Click on _Configure Workflow_ to configure the workflow and view documentation.
|
611
499
|
|
612
500
|
== Architecture
|
613
501
|
|
@@ -6,6 +6,7 @@ module Pennyworth
|
|
6
6
|
module Presenters
|
7
7
|
# Renders RubyGems records into a compatible format for use in Alfred script filters.
|
8
8
|
class Gem
|
9
|
+
using Refinements::Arrays
|
9
10
|
using Refinements::Strings
|
10
11
|
|
11
12
|
def initialize record, inflector: Inflector.new
|
@@ -15,18 +16,13 @@ module Pennyworth
|
|
15
16
|
|
16
17
|
def id = record.fetch(:name)
|
17
18
|
|
18
|
-
def label = inflector.call
|
19
|
+
def label = "#{inflector.call id.titleize} #{version}"
|
19
20
|
|
20
|
-
def subtitle
|
21
|
-
"Version: #{version}. " \
|
22
|
-
"Updated: #{updated_at[..9]}. " \
|
23
|
-
"Licenses: #{licenses}. " \
|
24
|
-
"Downloads: #{downloads}."
|
25
|
-
end
|
21
|
+
def subtitle = "Downloads: #{downloads}. Licenses: #{licenses}. Updated: #{updated_at[..9]}."
|
26
22
|
|
27
23
|
def version = record.fetch(__method__)
|
28
24
|
|
29
|
-
def licenses = Array(record.fetch(__method__)).
|
25
|
+
def licenses = Array(record.fetch(__method__)).to_sentence
|
30
26
|
|
31
27
|
def downloads = record.fetch(__method__)
|
32
28
|
|
@@ -4,6 +4,8 @@ module Pennyworth
|
|
4
4
|
module Serializers
|
5
5
|
# Serializes a encoding into a compatible format for parsing within Alfred script filters.
|
6
6
|
class Encoding
|
7
|
+
using Refinements::Arrays
|
8
|
+
|
7
9
|
def initialize presenter
|
8
10
|
@presenter = presenter
|
9
11
|
end
|
@@ -12,10 +14,10 @@ module Pennyworth
|
|
12
14
|
{
|
13
15
|
uid: presenter.id,
|
14
16
|
title: label,
|
15
|
-
subtitle: %(Aliases: #{aliases}.),
|
17
|
+
subtitle: %(Aliases: #{aliases.to_sentence}.),
|
16
18
|
arg: label,
|
17
19
|
mods: {
|
18
|
-
alt: {subtitle: "Copy aliases.", arg: aliases}
|
20
|
+
alt: {subtitle: "Copy aliases.", arg: aliases.join(", ")}
|
19
21
|
},
|
20
22
|
text: {copy: label, largetype: label}
|
21
23
|
}
|
@@ -27,7 +29,7 @@ module Pennyworth
|
|
27
29
|
|
28
30
|
def label = presenter.label
|
29
31
|
|
30
|
-
def aliases = presenter.aliases
|
32
|
+
def aliases = presenter.aliases
|
31
33
|
end
|
32
34
|
end
|
33
35
|
end
|
data/pennyworth.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "pennyworth"
|
5
|
-
spec.version = "13.
|
5
|
+
spec.version = "13.6.0"
|
6
6
|
spec.authors = ["Brooke Kuhlmann"]
|
7
7
|
spec.email = ["brooke@alchemists.io"]
|
8
8
|
spec.homepage = "https://www.alchemists.io/projects/pennyworth"
|
@@ -23,15 +23,15 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.cert_chain = [Gem.default_cert_path]
|
24
24
|
|
25
25
|
spec.required_ruby_version = "~> 3.1"
|
26
|
-
spec.add_dependency "auto_injector", "~> 0.
|
27
|
-
spec.add_dependency "cogger", "~> 0.
|
28
|
-
spec.add_dependency "dry-container", "~> 0.
|
26
|
+
spec.add_dependency "auto_injector", "~> 0.7"
|
27
|
+
spec.add_dependency "cogger", "~> 0.2"
|
28
|
+
spec.add_dependency "dry-container", "~> 0.10"
|
29
29
|
spec.add_dependency "http", "~> 5.0"
|
30
30
|
spec.add_dependency "rack", "~> 2.2"
|
31
|
-
spec.add_dependency "refinements", "~> 9.
|
32
|
-
spec.add_dependency "runcom", "~> 8.
|
33
|
-
spec.add_dependency "spek", "~> 0.
|
34
|
-
spec.add_dependency "zeitwerk", "~> 2.
|
31
|
+
spec.add_dependency "refinements", "~> 9.6"
|
32
|
+
spec.add_dependency "runcom", "~> 8.5"
|
33
|
+
spec.add_dependency "spek", "~> 0.5"
|
34
|
+
spec.add_dependency "zeitwerk", "~> 2.6"
|
35
35
|
|
36
36
|
spec.bindir = "exe"
|
37
37
|
spec.executables << "pennyworth"
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pennyworth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brooke Kuhlmann
|
@@ -28,7 +28,7 @@ cert_chain:
|
|
28
28
|
CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
|
29
29
|
RFE=
|
30
30
|
-----END CERTIFICATE-----
|
31
|
-
date: 2022-
|
31
|
+
date: 2022-08-13 00:00:00.000000000 Z
|
32
32
|
dependencies:
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: auto_injector
|
@@ -36,42 +36,42 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - "~>"
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '0.
|
39
|
+
version: '0.7'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - "~>"
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: '0.
|
46
|
+
version: '0.7'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: cogger
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '0.
|
53
|
+
version: '0.2'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '0.
|
60
|
+
version: '0.2'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: dry-container
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '0.
|
67
|
+
version: '0.10'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version: '0.
|
74
|
+
version: '0.10'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: http
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -106,56 +106,56 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '9.
|
109
|
+
version: '9.6'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: '9.
|
116
|
+
version: '9.6'
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: runcom
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
120
120
|
requirements:
|
121
121
|
- - "~>"
|
122
122
|
- !ruby/object:Gem::Version
|
123
|
-
version: '8.
|
123
|
+
version: '8.5'
|
124
124
|
type: :runtime
|
125
125
|
prerelease: false
|
126
126
|
version_requirements: !ruby/object:Gem::Requirement
|
127
127
|
requirements:
|
128
128
|
- - "~>"
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '8.
|
130
|
+
version: '8.5'
|
131
131
|
- !ruby/object:Gem::Dependency
|
132
132
|
name: spek
|
133
133
|
requirement: !ruby/object:Gem::Requirement
|
134
134
|
requirements:
|
135
135
|
- - "~>"
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version: '0.
|
137
|
+
version: '0.5'
|
138
138
|
type: :runtime
|
139
139
|
prerelease: false
|
140
140
|
version_requirements: !ruby/object:Gem::Requirement
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '0.
|
144
|
+
version: '0.5'
|
145
145
|
- !ruby/object:Gem::Dependency
|
146
146
|
name: zeitwerk
|
147
147
|
requirement: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '2.
|
151
|
+
version: '2.6'
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: '2.
|
158
|
+
version: '2.6'
|
159
159
|
description:
|
160
160
|
email:
|
161
161
|
- brooke@alchemists.io
|
@@ -251,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
251
251
|
- !ruby/object:Gem::Version
|
252
252
|
version: '0'
|
253
253
|
requirements: []
|
254
|
-
rubygems_version: 3.3.
|
254
|
+
rubygems_version: 3.3.19
|
255
255
|
signing_key:
|
256
256
|
specification_version: 4
|
257
257
|
summary: A command line interface that augments Alfred workflows.
|
metadata.gz.sig
CHANGED
Binary file
|