pennyworth 13.8.0 → 14.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b28a821995e7551ba40c62042f172698c085e20f1c8edd22eb0abf2c0f20341
4
- data.tar.gz: e1d5c7ee281d6135526bf1b280baf848803b6a3f17fba8e1fdfbf587ba28a2bb
3
+ metadata.gz: 774b72c51ab9df2e77ab583c517cf0a03975ef53d3e69390081d1506312430c6
4
+ data.tar.gz: 423357f3cba70b49969d76432a686b052b09acf6d19fc7ac194c75843b13b9dd
5
5
  SHA512:
6
- metadata.gz: fc1b51aeb6687b646fb22eee5b9686690e4d15e4c85b01bd1816b988970679b11f58ac0f62a865d2a1f41bf06d52e80d8b9fbfe75abb38088191bd8696f8fc43
7
- data.tar.gz: ef48a5dbf9a139f60534ec740c9a279197abfacf14b2593e358c08e2cf543046c6d13e38e9e2f85ce4700718b1f5f01638e0e9027a734ef5be8f7a890de443cc
6
+ metadata.gz: b152e6a35caa37a0f7220bb895a883573e98694b72a9b9a06fe2ad1e9ffbb1cca27ab430a53c6ee4aade45db35bd9ba3cf5d9578d8acc79020fbcb7bf8701f05
7
+ data.tar.gz: fec4bd0b88752189554ebdc0e8f9cffce510f4b1486ec2f96a599c531aa82ae5726dda9bb199d1ac8dab0b01d6859a104b3883f8b86145a1930c61f50ab679c6
checksums.yaml.gz.sig CHANGED
@@ -1,4 +1,2 @@
1
- �,��N���n���4e[�v���Y�����\:u<�v��)9���m&�k�$'E��뒚#%�8ę3'i
2
- Cl�A�h#!�Qx�(�o�#񧉒.3tF����2~
3
- ���^݃��c�u�ޚ{������� �Ap �a�)J��u��,��A�e4�F�z%���[�O����)�b3�|��`���J�=
4
- g���2�҇+�y��q���ӸfĤ2P����c@���&�:��L4����kBRA�0�7� �c;�
1
+ ���~��n��խ�m.�_X�eҋi��|�<`śD(��gKB�(9��jJ�K#�K_�����t��OrB�3M��$|���o3���`�x��%�2<�(@�nwW�Ȼ�g���ܛ�LPī}�����\�,fg�+�`�IFg�2t��5����N3��&yY��+���#*4r|�^����tfЦL�����H٩Z����C&��/����X������/��� �M�=�}�ǟ�o՛���lEܼ�܏y�
2
+ �#�u��
data/README.adoc CHANGED
@@ -232,7 +232,7 @@ Provides quick access to link:https://www.alchemists.io[Alchemists] resources.
232
232
 
233
233
  1. link:https://www.alchemists.io/public/alfred/workflows/alchemists.alfredworkflow[Download] and
234
234
  double click to install.
235
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
235
+ 2. Click on _Configure Workflow_ to view documentation.
236
236
 
237
237
  ==== Dry RB
238
238
 
@@ -242,7 +242,7 @@ Provides quick access to link:https://dry-rb.org[Dry RB] resources.
242
242
 
243
243
  1. link:https://www.alchemists.io/public/alfred/workflows/dry.alfredworkflow[Download] and double
244
244
  click to install.
245
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
245
+ 2. Click on _Configure Workflow_ to view documentation.
246
246
 
247
247
  ==== RuboCop
248
248
 
@@ -252,7 +252,7 @@ Provides quick access to link:https://docs.rubocop.org/rubocop[RuboCop] resource
252
252
 
253
253
  1. link:https://www.alchemists.io/public/alfred/workflows/rubocop.alfredworkflow[Download] and
254
254
  double click to install.
255
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
255
+ 2. Click on _Configure Workflow_ to view documentation.
256
256
 
257
257
  ==== Ruby
258
258
 
@@ -262,7 +262,7 @@ Provides quick access to link:https://www.ruby-lang.org[Ruby] resources.
262
262
 
263
263
  1. link:https://www.alchemists.io/public/alfred/workflows/ruby.alfredworkflow[Download] and
264
264
  double click to install.
265
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
265
+ 2. Click on _Configure Workflow_ to view documentation.
266
266
 
267
267
  ==== Other
268
268
 
@@ -277,7 +277,7 @@ full definition each time.
277
277
 
278
278
  1. link:https://www.alchemists.io/public/alfred/workflows/acronyms.alfredworkflow[Download] and
279
279
  double click to install.
280
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
280
+ 2. Click on _Configure Workflow_ to view documentation.
281
281
 
282
282
  ===== Alpine
283
283
 
@@ -287,7 +287,7 @@ Provides quick access to link:https://www.alpinelinux.org[Alpine Linux] resource
287
287
 
288
288
  1. link:https://www.alchemists.io/public/alfred/workflows/alpine.alfredworkflow[Download] and double
289
289
  click to install.
290
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
290
+ 2. Click on _Configure Workflow_ to view documentation.
291
291
 
292
292
  ===== Applications
293
293
 
@@ -297,7 +297,7 @@ Launches your engineering environment but can be tweaked to your preferences. Us
297
297
 
298
298
  1. link:https://www.alchemists.io/public/alfred/workflows/applications.alfredworkflow[Download] and
299
299
  double click to install.
300
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
300
+ 2. Click on _Configure Workflow_ to view documentation.
301
301
 
302
302
  ===== Bash
303
303
 
@@ -307,7 +307,7 @@ Provides quick access to link:https://www.gnu.org/software/bash[Bash] resources.
307
307
 
308
308
  1. link:https://www.alchemists.io/public/alfred/workflows/bash.alfredworkflow[Download] and
309
309
  double click to install.
310
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
310
+ 2. Click on _Configure Workflow_ to view documentation.
311
311
 
312
312
  ===== Bio
313
313
 
@@ -317,7 +317,7 @@ Provides biographical calculations and information.
317
317
 
318
318
  1. link:https://www.alchemists.io/public/alfred/workflows/bio.alfredworkflow[Download] and
319
319
  double click to install.
320
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
320
+ 2. Click on _Configure Workflow_ to view documentation.
321
321
 
322
322
  ===== Browsers
323
323
 
@@ -327,7 +327,7 @@ Provides quick access to browser resources.
327
327
 
328
328
  1. link:https://www.alchemists.io/public/alfred/workflows/browsers.alfredworkflow[Download] and
329
329
  double click to install.
330
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
330
+ 2. Click on _Configure Workflow_ to view documentation.
331
331
 
332
332
  ===== Bundler
333
333
 
@@ -337,7 +337,7 @@ Provides quick access to link:https://bundler.io[Bundler] related resources.
337
337
 
338
338
  1. link:https://www.alchemists.io/public/alfred/workflows/bundler.alfredworkflow[Download] and
339
339
  double click to install.
340
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
340
+ 2. Click on _Configure Workflow_ to view documentation.
341
341
 
342
342
  ===== Circle CI
343
343
 
@@ -347,7 +347,7 @@ Provides quick access to link:https://circleci.com/[Circle CI] resources.
347
347
 
348
348
  1. link:https://www.alchemists.io/public/alfred/workflows/circle_ci.alfredworkflow[Download] and
349
349
  double click to install.
350
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
350
+ 2. Click on _Configure Workflow_ to view documentation.
351
351
 
352
352
  ===== Crystal
353
353
 
@@ -357,7 +357,7 @@ Provides quick access to link:https://crystal-lang.org[Crystal] resources.
357
357
 
358
358
  1. link:https://www.alchemists.io/public/alfred/workflows/crystal.alfredworkflow[Download] and
359
359
  double click to install.
360
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
360
+ 2. Click on _Configure Workflow_ to view documentation.
361
361
 
362
362
  ===== CSS
363
363
 
@@ -367,7 +367,7 @@ Provides quick access to link:https://www.w3.org/Style/CSS/specs.en.html[CSS] re
367
367
 
368
368
  1. link:https://www.alchemists.io/public/alfred/workflows/css.alfredworkflow[Download] and double
369
369
  click to install.
370
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
370
+ 2. Click on _Configure Workflow_ to view documentation.
371
371
 
372
372
  ===== Docker
373
373
 
@@ -377,7 +377,7 @@ Provides quick access to link:https://www.docker.com[Docker] resources.
377
377
 
378
378
  1. link:https://www.alchemists.io/public/alfred/workflows/docker.alfredworkflow[Download] and
379
379
  double click to install.
380
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
380
+ 2. Click on _Configure Workflow_ to view documentation.
381
381
 
382
382
  ===== Elm
383
383
 
@@ -387,7 +387,27 @@ Provides quick access to link:https://elm-lang.org[Elm] resources.
387
387
 
388
388
  1. link:https://www.alchemists.io/public/alfred/workflows/elm.alfredworkflow[Download] and double
389
389
  click to install.
390
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
390
+ 2. Click on _Configure Workflow_ to view documentation.
391
+
392
+ ===== Farnam Street
393
+
394
+ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/farnam_street.png[Farnam Street workflow screenshot.,width=706,height=631,role=focal_point]
395
+
396
+ Provides quick access to link:https://fs.blog[Farnam Street] resources.
397
+
398
+ 1. link:https://www.alchemists.io/public/alfred/workflows/farnam_street.alfredworkflow[Download] and
399
+ double click to install.
400
+ 2. Click on _Configure Workflow_ to view documentation.
401
+
402
+ ===== Git
403
+
404
+ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/git.png[Git workflow screenshot.,width=706,height=415,role=focal_point]
405
+
406
+ Provides quick access to link:https://git-scm.com[Git] resources.
407
+
408
+ 1. link:https://www.alchemists.io/public/alfred/workflows/git.alfredworkflow[Download] and
409
+ double click to install.
410
+ 2. Click on _Configure Workflow_ to view documentation.
391
411
 
392
412
  ===== GitHub
393
413
 
@@ -397,7 +417,7 @@ Provides quick access to link:https://github.com[GitHub] resources.
397
417
 
398
418
  1. link:https://www.alchemists.io/public/alfred/workflows/github.alfredworkflow[Download] and
399
419
  double click to install.
400
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
420
+ 2. Click on _Configure Workflow_ to view documentation.
401
421
 
402
422
  ===== Hanami
403
423
 
@@ -407,7 +427,7 @@ Provides quick access to link:https://hanamirb.org[Hanami] resources.
407
427
 
408
428
  1. link:https://www.alchemists.io/public/alfred/workflows/hanami.alfredworkflow[Download] and
409
429
  double click to install.
410
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
430
+ 2. Click on _Configure Workflow_ to view documentation.
411
431
 
412
432
  ===== Jitsi
413
433
 
@@ -417,7 +437,7 @@ Provides quick access to link:https://jitsi.org[Jitsi] resources.
417
437
 
418
438
  1. link:https://www.alchemists.io/public/alfred/workflows/jitsi.alfredworkflow[Download] and
419
439
  double click to install.
420
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
440
+ 2. Click on _Configure Workflow_ to view documentation.
421
441
 
422
442
  ===== macOS
423
443
 
@@ -427,7 +447,7 @@ Provides quick access to macOS resources.
427
447
 
428
448
  1. link:https://www.alchemists.io/public/alfred/workflows/mac_os.alfredworkflow[Download] and
429
449
  double click to install.
430
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
450
+ 2. Click on _Configure Workflow_ to view documentation.
431
451
 
432
452
  ===== Rack
433
453
 
@@ -437,7 +457,7 @@ Provides quick access to link:https://github.com/rack/rack[Rack] resources.
437
457
 
438
458
  1. link:https://www.alchemists.io/public/alfred/workflows/rack.alfredworkflow[Download] and double
439
459
  click to install.
440
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
460
+ 2. Click on _Configure Workflow_ to view documentation.
441
461
 
442
462
  ===== RSpec
443
463
 
@@ -447,7 +467,7 @@ Provides quick access to link:https://rspec.info[RSpec] resources.
447
467
 
448
468
  1. link:https://www.alchemists.io/public/alfred/workflows/rspec.alfredworkflow[Download] and double
449
469
  click to install.
450
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
470
+ 2. Click on _Configure Workflow_ to view documentation.
451
471
 
452
472
  ===== Ruby on Rails
453
473
 
@@ -456,7 +476,7 @@ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ruby_on_r
456
476
  Provides access to link:https://https://rubyonrails.org[Ruby on Rails] resources.
457
477
 
458
478
  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.
479
+ 2. Click on _Configure Workflow_ to view documentation.
460
480
 
461
481
  ===== Slack
462
482
 
@@ -466,7 +486,7 @@ Provides quick access to link:https://slack.com[Slack] resources.
466
486
 
467
487
  1. link:https://www.alchemists.io/public/alfred/workflows/slack.alfredworkflow[Download] and
468
488
  double click to install.
469
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
489
+ 2. Click on _Configure Workflow_ to view documentation.
470
490
 
471
491
  ===== SSL
472
492
 
@@ -475,7 +495,7 @@ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/ssl.png[S
475
495
  Provides quick access to SSL resources for the security conscious.
476
496
 
477
497
  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.
498
+ 2. Click on _Configure Workflow_ to view documentation.
479
499
 
480
500
  ===== Terraform
481
501
 
@@ -485,7 +505,7 @@ Provides quick access to link:https://www.terraform.io[Terraform] resources.
485
505
 
486
506
  1. link:https://www.alchemists.io/public/alfred/workflows/terraform.alfredworkflow[Download] and
487
507
  double click to install.
488
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
508
+ 2. Click on _Configure Workflow_ to view documentation.
489
509
 
490
510
  ===== Text
491
511
 
@@ -495,7 +515,7 @@ Provides general text manipulation utilities beyond the Pennyworth powered _text
495
515
 
496
516
  1. link:https://www.alchemists.io/public/alfred/workflows/text.alfredworkflow[Download] and
497
517
  double click to install.
498
- 2. Click on _Configure Workflow_ to configure the workflow and view documentation.
518
+ 2. Click on _Configure Workflow_ to view documentation.
499
519
 
500
520
  === Troubleshooting
501
521
 
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "optparse"
4
5
 
5
6
  module Pennyworth
@@ -17,7 +18,7 @@ module Pennyworth
17
18
  @client = client
18
19
  end
19
20
 
20
- def call arguments = []
21
+ def call arguments = Core::EMPTY_ARRAY
21
22
  sections.each { |parser| parser.call configuration_duplicate, client: }
22
23
  client.parse arguments
23
24
  configuration_duplicate.freeze
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "refinements/structs"
4
5
 
5
6
  module Pennyworth
@@ -21,7 +22,7 @@ module Pennyworth
21
22
  @client = client
22
23
  end
23
24
 
24
- def call arguments = []
25
+ def call arguments = ::Core::EMPTY_ARRAY
25
26
  client.banner = specification.labeled_summary
26
27
  client.separator "\nUSAGE:\n"
27
28
  collate
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "refinements/structs"
4
5
 
5
6
  module Pennyworth
@@ -16,7 +17,7 @@ module Pennyworth
16
17
  @client = client
17
18
  end
18
19
 
19
- def call arguments = []
20
+ def call arguments = ::Core::EMPTY_ARRAY
20
21
  client.separator "\nGITHUB OPTIONS:\n"
21
22
  private_methods.sort.grep(/add_/).each { |method| __send__ method }
22
23
  client.parse arguments
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Pennyworth
4
6
  module CLI
5
7
  module Parsers
@@ -12,7 +14,7 @@ module Pennyworth
12
14
  @client = client
13
15
  end
14
16
 
15
- def call arguments = []
17
+ def call arguments = ::Core::EMPTY_ARRAY
16
18
  client.separator "\nRUBYGEMS OPTIONS:\n"
17
19
  add_owner
18
20
  client.parse arguments
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Pennyworth
4
6
  module CLI
5
7
  # The main Command Line Interface (CLI) object.
@@ -23,7 +25,7 @@ module Pennyworth
23
25
  @parser = parser
24
26
  end
25
27
 
26
- def call arguments = []
28
+ def call arguments = Core::EMPTY_ARRAY
27
29
  perform parser.call(arguments)
28
30
  rescue OptionParser::ParseError, KeyError => error
29
31
  logger.error { error.message }
@@ -38,8 +40,8 @@ module Pennyworth
38
40
  in action_config: Symbol => action then config.call action
39
41
  in action_encodings: true then encodings.call
40
42
  in action_git_hub: :organization
41
- git_hub.call "orgs/#{configuration.git_hub_organization}/repos"
42
- in action_git_hub: :user then git_hub.call "users/#{configuration.git_hub_user}/repos"
43
+ git_hub.call "orgs/#{configuration.git_hub_organization}"
44
+ in action_git_hub: :user then git_hub.call "users/#{configuration.git_hub_user}"
43
45
  in action_http_statuses: true then http_statuses.call
44
46
  in action_ruby_gems: true
45
47
  ruby_gems.call "owners/#{configuration.ruby_gems_owner}/gems.json"
@@ -1,56 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "refinements/arrays"
3
+ require "ghub"
4
4
 
5
5
  module Pennyworth
6
6
  module Integrations
7
7
  module GitHub
8
- # Provides low-level API access to the GitHub API.
8
+ # Provides low-level access to the GitHub API.
9
9
  class Client
10
- include Import[:configuration, :http, :environment]
11
-
12
- using Refinements::Arrays
13
-
14
- HEADERS = {
15
- accept: "application/vnd.github.v3+json",
16
- content_type: "Content-Type: application/json; charset=utf-8"
17
- }.freeze
18
-
19
- def initialize headers: HEADERS, **dependencies
20
- super(**dependencies)
21
- @headers = headers
10
+ def initialize endpoint: Ghub::Endpoints::Repositories::Root.new
11
+ @endpoint = endpoint
22
12
  end
23
13
 
24
- def get endpoint, parameters: {}
25
- paginate -> page { sole_get endpoint, parameters: parameters.merge(page:) }
26
- end
14
+ def get(path) = endpoint.index(*path.split("/")).value_or([]).map(&:to_h)
27
15
 
28
16
  private
29
17
 
30
- attr_reader :headers
31
-
32
- # :reek:FeatureEnvy
33
- def paginate request, records: [], page: 1
34
- response = request.call page
35
-
36
- records.including(response.records)
37
- .then do |updated_records|
38
- return updated_records if response.last_page.zero?
39
-
40
- paginate request, records: updated_records, page: response.next_page
41
- end
42
- end
43
-
44
- def sole_get endpoint, parameters: {}
45
- http.headers(headers)
46
- .basic_auth(user: api_login, pass: api_token)
47
- .get("#{configuration.git_hub_api_url}/#{endpoint}", params: parameters)
48
- .then { |response| Response.new response }
49
- end
50
-
51
- def api_login = environment.fetch "GITHUB_API_LOGIN"
52
-
53
- def api_token = environment.fetch "GITHUB_API_TOKEN"
18
+ attr_reader :endpoint
54
19
  end
55
20
  end
56
21
  end
@@ -3,6 +3,6 @@
3
3
  module Pennyworth
4
4
  module Models
5
5
  # Defines an encoding.
6
- Encoding = Struct.new :name, :aliases, keyword_init: true
6
+ Encoding = Data.define :name, :aliases
7
7
  end
8
8
  end
@@ -1,8 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pennyworth
4
+ # :reek:ModuleInitialize
4
5
  module Models
5
6
  # Defines HTTP status details.
6
- HTTPStatus = Struct.new :code, :label, :url, keyword_init: true
7
+ HTTPStatus = Data.define :code, :label, :url do
8
+ def initialize code: nil, label: nil, url: nil
9
+ super
10
+ end
11
+ end
7
12
  end
8
13
  end
@@ -1,8 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Pennyworth
4
+ # :reek:ModuleInitialize
4
5
  module Models
5
6
  # Defines a standard error.
6
- StandardError = Struct.new :name, :file_path, :line_number, keyword_init: true
7
+ StandardError = Data.define :name, :file_path, :line_number do
8
+ def initialize name: nil, file_path: nil, line_number: nil
9
+ super
10
+ end
11
+ end
7
12
  end
8
13
  end
@@ -4,7 +4,7 @@ module Pennyworth
4
4
  module Models
5
5
  module System
6
6
  # Defines a system error.
7
- Error = Struct.new :id, :name, :description, keyword_init: true
7
+ Error = Data.define :id, :name, :description
8
8
  end
9
9
  end
10
10
  end
@@ -4,7 +4,7 @@ module Pennyworth
4
4
  module Models
5
5
  module System
6
6
  # Defines a low-level operating system signal.
7
- Signal = Struct.new :number, :name, keyword_init: true
7
+ Signal = Data.define :number, :name
8
8
  end
9
9
  end
10
10
  end
@@ -3,6 +3,6 @@
3
3
  module Pennyworth
4
4
  module Models
5
5
  # Defines basic text.
6
- Text = Struct.new :id, :content, keyword_init: true
6
+ Text = Data.define :id, :content
7
7
  end
8
8
  end
@@ -30,11 +30,6 @@ module Pennyworth
30
30
 
31
31
  def source_url = record.fetch(:source_code_uri)
32
32
 
33
- def changes_url
34
- warn "[DEPRECATION]: #changes_url is deprecated, use #versions_url instead."
35
- versions_url
36
- end
37
-
38
33
  def issues_url = record.fetch(:bug_tracker_uri)
39
34
 
40
35
  def versions_url = record.fetch(:changelog_uri)
@@ -23,11 +23,6 @@ module Pennyworth
23
23
 
24
24
  def source_url = record.fetch(:html_url)
25
25
 
26
- def changes_url
27
- warn "[DEPRECATION]: #changes_url is deprecated, use #versions_url instead."
28
- versions_url
29
- end
30
-
31
26
  def issues_url = "#{source_url}/issues"
32
27
 
33
28
  def versions_url = "#{site_url}/versions"
@@ -16,7 +16,7 @@ module Pennyworth
16
16
 
17
17
  def label = record.name.to_s
18
18
 
19
- def path = file_path.empty? ? "" : [file_path, record.line_number].compress!.join(":")
19
+ def path = file_path.empty? ? "" : [file_path, record.line_number].compress.join(":")
20
20
 
21
21
  private
22
22
 
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.8.0"
5
+ spec.version = "14.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://www.alchemists.io/projects/pennyworth"
@@ -22,15 +22,17 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = "~> 3.1"
26
- spec.add_dependency "cogger", "~> 0.4"
25
+ spec.required_ruby_version = "~> 3.2"
26
+ spec.add_dependency "cogger", "~> 0.5"
27
+ spec.add_dependency "core", "~> 0.1"
27
28
  spec.add_dependency "dry-container", "~> 0.11"
28
- spec.add_dependency "http", "~> 5.0"
29
- spec.add_dependency "infusible", "~> 0.2"
29
+ spec.add_dependency "ghub", "~> 0.3"
30
+ spec.add_dependency "http", "~> 5.1"
31
+ spec.add_dependency "infusible", "~> 1.0"
30
32
  spec.add_dependency "rack", "~> 3.0"
31
- spec.add_dependency "refinements", "~> 9.7"
32
- spec.add_dependency "runcom", "~> 8.7"
33
- spec.add_dependency "spek", "~> 0.6"
33
+ spec.add_dependency "refinements", "~> 10.0"
34
+ spec.add_dependency "runcom", "~> 9.0"
35
+ spec.add_dependency "spek", "~> 1.0"
34
36
  spec.add_dependency "zeitwerk", "~> 2.6"
35
37
 
36
38
  spec.bindir = "exe"
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.8.0
4
+ version: 14.1.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-10-22 00:00:00.000000000 Z
31
+ date: 2023-01-07 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: cogger
@@ -36,14 +36,28 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.4'
39
+ version: '0.5'
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.4'
46
+ version: '0.5'
47
+ - !ruby/object:Gem::Dependency
48
+ name: core
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.1'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '0.1'
47
61
  - !ruby/object:Gem::Dependency
48
62
  name: dry-container
49
63
  requirement: !ruby/object:Gem::Requirement
@@ -58,34 +72,48 @@ dependencies:
58
72
  - - "~>"
59
73
  - !ruby/object:Gem::Version
60
74
  version: '0.11'
75
+ - !ruby/object:Gem::Dependency
76
+ name: ghub
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.3'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.3'
61
89
  - !ruby/object:Gem::Dependency
62
90
  name: http
63
91
  requirement: !ruby/object:Gem::Requirement
64
92
  requirements:
65
93
  - - "~>"
66
94
  - !ruby/object:Gem::Version
67
- version: '5.0'
95
+ version: '5.1'
68
96
  type: :runtime
69
97
  prerelease: false
70
98
  version_requirements: !ruby/object:Gem::Requirement
71
99
  requirements:
72
100
  - - "~>"
73
101
  - !ruby/object:Gem::Version
74
- version: '5.0'
102
+ version: '5.1'
75
103
  - !ruby/object:Gem::Dependency
76
104
  name: infusible
77
105
  requirement: !ruby/object:Gem::Requirement
78
106
  requirements:
79
107
  - - "~>"
80
108
  - !ruby/object:Gem::Version
81
- version: '0.2'
109
+ version: '1.0'
82
110
  type: :runtime
83
111
  prerelease: false
84
112
  version_requirements: !ruby/object:Gem::Requirement
85
113
  requirements:
86
114
  - - "~>"
87
115
  - !ruby/object:Gem::Version
88
- version: '0.2'
116
+ version: '1.0'
89
117
  - !ruby/object:Gem::Dependency
90
118
  name: rack
91
119
  requirement: !ruby/object:Gem::Requirement
@@ -106,42 +134,42 @@ dependencies:
106
134
  requirements:
107
135
  - - "~>"
108
136
  - !ruby/object:Gem::Version
109
- version: '9.7'
137
+ version: '10.0'
110
138
  type: :runtime
111
139
  prerelease: false
112
140
  version_requirements: !ruby/object:Gem::Requirement
113
141
  requirements:
114
142
  - - "~>"
115
143
  - !ruby/object:Gem::Version
116
- version: '9.7'
144
+ version: '10.0'
117
145
  - !ruby/object:Gem::Dependency
118
146
  name: runcom
119
147
  requirement: !ruby/object:Gem::Requirement
120
148
  requirements:
121
149
  - - "~>"
122
150
  - !ruby/object:Gem::Version
123
- version: '8.7'
151
+ version: '9.0'
124
152
  type: :runtime
125
153
  prerelease: false
126
154
  version_requirements: !ruby/object:Gem::Requirement
127
155
  requirements:
128
156
  - - "~>"
129
157
  - !ruby/object:Gem::Version
130
- version: '8.7'
158
+ version: '9.0'
131
159
  - !ruby/object:Gem::Dependency
132
160
  name: spek
133
161
  requirement: !ruby/object:Gem::Requirement
134
162
  requirements:
135
163
  - - "~>"
136
164
  - !ruby/object:Gem::Version
137
- version: '0.6'
165
+ version: '1.0'
138
166
  type: :runtime
139
167
  prerelease: false
140
168
  version_requirements: !ruby/object:Gem::Requirement
141
169
  requirements:
142
170
  - - "~>"
143
171
  - !ruby/object:Gem::Version
144
- version: '0.6'
172
+ version: '1.0'
145
173
  - !ruby/object:Gem::Dependency
146
174
  name: zeitwerk
147
175
  requirement: !ruby/object:Gem::Requirement
@@ -193,7 +221,6 @@ files:
193
221
  - lib/pennyworth/import.rb
194
222
  - lib/pennyworth/inflector.rb
195
223
  - lib/pennyworth/integrations/git_hub/client.rb
196
- - lib/pennyworth/integrations/git_hub/response.rb
197
224
  - lib/pennyworth/integrations/ruby_gems/client.rb
198
225
  - lib/pennyworth/loaders/encodings.rb
199
226
  - lib/pennyworth/loaders/http_statuses.rb
@@ -244,14 +271,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
244
271
  requirements:
245
272
  - - "~>"
246
273
  - !ruby/object:Gem::Version
247
- version: '3.1'
274
+ version: '3.2'
248
275
  required_rubygems_version: !ruby/object:Gem::Requirement
249
276
  requirements:
250
277
  - - ">="
251
278
  - !ruby/object:Gem::Version
252
279
  version: '0'
253
280
  requirements: []
254
- rubygems_version: 3.3.24
281
+ rubygems_version: 3.4.2
255
282
  signing_key:
256
283
  specification_version: 4
257
284
  summary: A command line interface that augments Alfred workflows.
metadata.gz.sig CHANGED
Binary file
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pennyworth
4
- module Integrations
5
- module GitHub
6
- # Represents a generic GitHub API response.
7
- class Response
8
- def initialize raw
9
- @raw = raw
10
- end
11
-
12
- def next_page = page("next")
13
-
14
- def last_page = page("last")
15
-
16
- def records = success? ? JSON(raw.body, symbolize_names: true) : []
17
-
18
- def success? = raw.status.success?
19
-
20
- private
21
-
22
- attr_reader :raw
23
-
24
- def page reference
25
- links.find { |link| link.include? reference }
26
- .then { |link| String(link)[/page=(?<page>\d+)/, :page].to_i }
27
- end
28
-
29
- def links = String(raw.headers["Link"]).split(", ")
30
- end
31
- end
32
- end
33
- end