pennyworth 12.0.1 → 12.3.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: 6c172a3d9ec4c91a86564d4b86a46c113c2859010754745e68c7aa43df251719
4
- data.tar.gz: cf6d28495dc0562b6d9454b662aefcaadad09fe6adcf5a05266a0b102bd69955
3
+ metadata.gz: d9d29e0f9dd7dbb85565d1e89e8c4c8eb743451c11b6c3342e1305fe43e94528
4
+ data.tar.gz: 0f4bebe167cfc5642e97249120a5a5679719264a1d5f15416f99c2dbeba38731
5
5
  SHA512:
6
- metadata.gz: 4a82deb994823cd68b1f638e2b5e223e883ba6848a94c2a510e1c93069b1f2150d25377a31aedf35d9ac11a223fe24599f70af62550eaab0a9fff459f13717d5
7
- data.tar.gz: 88faa1467de0fa6134a2a9843ab8506eef801c288b5829ec28881471d3983d064c3331a8ed8ecc7ebd8480931403d8e0f1905ef38625d4bed3150a808d4a836c
6
+ metadata.gz: 2179e9f5c4d7ee60605a4a00aebd6bc34fa08179855805492a1e5cee8898a9c4aedfb345d69c25288230008fb15bc2f293889ffe71f42fff0c24e2fe9817d60b
7
+ data.tar.gz: be9075bc0c767c59fb90a3f390d7f8f88121c961f2b2ca003000c95b2c07615c59438ca5ad771f5b8b3f2989e6a484eec207fc48c6f4d803c085d6a24621160e
checksums.yaml.gz.sig CHANGED
@@ -1 +1,4 @@
1
- ��?�s&�ڹ����!hߝ���q|�a��5 ���u��MD���: ��!�sq�� 9��&)��<b��� *]S�~Iz�-���^ 9��}��g��X�q�.� t#ԫ����ɞ~��>X�~�iz��C2���g2`��ŲT������ Z}2�G�}S��b��=4��OL��Zr���Z��Y!ߚ5-VS<�Va���X���$�`nM�yr5\�˲d.ŎU�:���R�WYٹh�M�
1
+ 6Xg�`W��J В(ӝ%Bh����T�iZ��r���]���څ�oA�+��݀$��?t��PA �d��������>�p:j���IE+�a��GS�UF'���z��,���W^i[��y���5��E,[ȆZAv�ʲ6��
2
+ ]�\Ab
3
+ VM§c-�B���=�XIq��wt�Hb-`�s��\'bj~x�iu�u���>u�Lfa9\�s��(���VȖ����H;|�X
4
+ Ϸ���I�
data/README.adoc CHANGED
@@ -6,13 +6,6 @@
6
6
 
7
7
  = Pennyworth
8
8
 
9
- [link=http://badge.fury.io/rb/pennyworth]
10
- image::https://badge.fury.io/rb/pennyworth.svg[Gem Version]
11
- [link=https://www.alchemists.io/projects/code_quality]
12
- image::https://img.shields.io/badge/code_style-alchemists-brightgreen.svg[Alchemists Style Guide]
13
- [link=https://circleci.com/gh/bkuhlmann/pennyworth]
14
- image::https://circleci.com/gh/bkuhlmann/pennyworth.svg?style=svg[Circle CI Status]
15
-
16
9
  Pennyworth is a command line interface and the perfect companion to
17
10
  link:https://www.alfredapp.com[Alfred]. With Pennyworth, you can unlock the full potential of the
18
11
  Ruby language by leveraging modern versions of Ruby through Alfred Workflows. Perfect for when you
@@ -245,7 +238,7 @@ The official link:https://www.alchemists.io[Alchemists] workflow for site naviga
245
238
  double click to install.
246
239
  2. Type `ax` to activate.
247
240
 
248
- 💡 Use `ENTER` to view site, `CONTROL` to view changes, `OPTION` to view source, or `COMMAND` to
241
+ 💡 Use `ENTER` to view site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
249
242
  view issues.
250
243
 
251
244
  ==== Dry RB
@@ -258,7 +251,7 @@ A link:https://dry-rb.org[Dry RB] workflow for navigating all of the Dry RB site
258
251
  click to install.
259
252
  2. Type `dry` to activate general information and `dryx` for project list.
260
253
 
261
- 💡 Use `ENTER` to visit site, `CONTROL` to view changes, `OPTION` to view source, or `COMMAND` to
254
+ 💡 Use `ENTER` to visit site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
262
255
  view issues.
263
256
 
264
257
  ==== Rubocop
@@ -266,13 +259,13 @@ view issues.
266
259
  image:https://www.alchemists.io/images/projects/pennyworth/screenshots/rubocop-projects.png[Rubocop Projects,width=706,height=632,role=focal_point]
267
260
 
268
261
  A link:https://docs.rubocop.org/rubocop[Rubocop] workflow for quick access to documentation,
269
- learning about project changes, viewing source code, etc.
262
+ learning about project versions, viewing source code, etc.
270
263
 
271
264
  1. link:https://www.alchemists.io/public/alfred/workflows/rubocop.alfredworkflow[Download] and
272
265
  double click to install.
273
266
  2. Type `cop` to activate.
274
267
 
275
- 💡 Use `ENTER` to view site, `CONTROL` to view changes, `OPTION` to view source, or `COMMAND` to
268
+ 💡 Use `ENTER` to view site, `CONTROL` to view versions, `OPTION` to view source, or `COMMAND` to
276
269
  view issues.
277
270
 
278
271
  ==== Ruby
data/exe/pennyworth CHANGED
@@ -3,5 +3,4 @@
3
3
 
4
4
  require "pennyworth"
5
5
 
6
- Process.setproctitle Pennyworth::Identity::VERSION_LABEL
7
6
  Pennyworth::CLI::Shell.new.call ARGV
@@ -12,13 +12,16 @@ module Pennyworth
12
12
  class Core
13
13
  def self.call(...) = new(...).call
14
14
 
15
- def initialize configuration = Configuration::Loader.call, client: Parser::CLIENT
15
+ def initialize configuration = Configuration::Loader.call,
16
+ client: Parser::CLIENT,
17
+ container: Container
16
18
  @configuration = configuration
17
19
  @client = client
20
+ @container = container
18
21
  end
19
22
 
20
23
  def call arguments = []
21
- client.banner = "#{Identity::LABEL} - #{Identity::SUMMARY}"
24
+ client.banner = specification.labeled_summary
22
25
  client.separator "\nUSAGE:\n"
23
26
  collate
24
27
  client.parse arguments
@@ -27,7 +30,7 @@ module Pennyworth
27
30
 
28
31
  private
29
32
 
30
- attr_reader :configuration, :client
33
+ attr_reader :configuration, :client, :container
31
34
 
32
35
  def collate = private_methods.sort.grep(/add_/).each { |method| __send__ method }
33
36
 
@@ -95,6 +98,8 @@ module Pennyworth
95
98
  configuration.action_help = true
96
99
  end
97
100
  end
101
+
102
+ def specification = container[__method__]
98
103
  end
99
104
  end
100
105
  end
@@ -43,7 +43,7 @@ module Pennyworth
43
43
  in action_system_signals: true then system_signals
44
44
  in action_system_errors: true then system_errors
45
45
  in action_text: String => content then text content
46
- in action_version: true then logger.info { Identity::VERSION_LABEL }
46
+ in action_version: true then logger.info { specification.labeled_version }
47
47
  else usage
48
48
  end
49
49
  end
@@ -75,6 +75,8 @@ module Pennyworth
75
75
 
76
76
  def usage = logger.unknown { parser.to_s }
77
77
 
78
+ def specification = container[__method__]
79
+
78
80
  def logger = container[__method__]
79
81
  end
80
82
  end
@@ -14,7 +14,7 @@ module Pennyworth
14
14
  using Refinements::Structs
15
15
 
16
16
  DEFAULTS = YAML.load_file(Pathname(__dir__).join("defaults.yml")).freeze
17
- CLIENT = Runcom::Config.new "#{Identity::NAME}/configuration.yml", defaults: DEFAULTS
17
+ CLIENT = Runcom::Config.new "pennyworth/configuration.yml", defaults: DEFAULTS
18
18
 
19
19
  def self.call = new.call
20
20
 
@@ -4,6 +4,7 @@ require "dry-container"
4
4
  require "logger"
5
5
  require "http"
6
6
  require "pastel"
7
+ require "spek"
7
8
 
8
9
  module Pennyworth
9
10
  # Provides a global gem container for injection into other objects.
@@ -11,6 +12,7 @@ module Pennyworth
11
12
  extend Dry::Container::Mixin
12
13
 
13
14
  register(:configuration) { Configuration::Loader.call }
15
+ register(:specification) { Spek::Loader.call "#{__dir__}/../../pennyworth.gemspec" }
14
16
  register(:environment) { ENV }
15
17
  register(:kernel) { Kernel }
16
18
  register(:http) { HTTP }
@@ -34,10 +34,15 @@ module Pennyworth
34
34
 
35
35
  def source_url = record.fetch(:source_code_uri)
36
36
 
37
- def changes_url = record.fetch(:changelog_uri)
37
+ def changes_url
38
+ warn "[DEPRECATION]: #changes_url is deprecated, use #versions_url instead."
39
+ versions_url
40
+ end
38
41
 
39
42
  def issues_url = record.fetch(:bug_tracker_uri)
40
43
 
44
+ def versions_url = record.fetch(:changelog_uri)
45
+
41
46
  def updated_at = record.fetch(:version_created_at)
42
47
 
43
48
  private
@@ -23,10 +23,15 @@ module Pennyworth
23
23
 
24
24
  def source_url = record.fetch(:html_url)
25
25
 
26
- def changes_url = "#{site_url}/changes.html"
26
+ def changes_url
27
+ warn "[DEPRECATION]: #changes_url is deprecated, use #versions_url instead."
28
+ versions_url
29
+ end
27
30
 
28
31
  def issues_url = "#{source_url}/issues"
29
32
 
33
+ def versions_url = "#{site_url}/versions"
34
+
30
35
  private
31
36
 
32
37
  attr_reader :record, :inflector
@@ -16,7 +16,7 @@ module Pennyworth
16
16
  arg: site_url,
17
17
  quicklookurl: site_url,
18
18
  mods: modifications,
19
- text: text
19
+ text:
20
20
  }
21
21
  end
22
22
 
@@ -26,15 +26,15 @@ module Pennyworth
26
26
 
27
27
  def modifications
28
28
  {
29
- control: modification(presenter.changes_url, "View changes."),
30
29
  alt: modification(presenter.source_url, "View source."),
31
- cmd: modification(presenter.issues_url, "View issues.")
30
+ cmd: modification(presenter.issues_url, "View issues."),
31
+ control: modification(presenter.versions_url, "View versions.")
32
32
  }
33
33
  end
34
34
 
35
35
  def modification argument, subtitle
36
36
  {
37
- subtitle: subtitle,
37
+ subtitle:,
38
38
  arg: argument
39
39
  }
40
40
  end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ Gem::Specification.new do |spec|
4
+ spec.name = "pennyworth"
5
+ spec.version = "12.3.0"
6
+ spec.authors = ["Brooke Kuhlmann"]
7
+ spec.email = ["brooke@alchemists.io"]
8
+ spec.homepage = "https://www.alchemists.io/projects/pennyworth"
9
+ spec.summary = "A command line interface that augments Alfred workflows."
10
+ spec.license = "Hippocratic-3.0"
11
+
12
+ spec.metadata = {
13
+ "bug_tracker_uri" => "https://github.com/bkuhlmann/pennyworth/issues",
14
+ "changelog_uri" => "https://www.alchemists.io/projects/pennyworth/versions",
15
+ "documentation_uri" => "https://www.alchemists.io/projects/pennyworth",
16
+ "label" => "Pennyworth",
17
+ "rubygems_mfa_required" => "true",
18
+ "source_code_uri" => "https://github.com/bkuhlmann/pennyworth"
19
+ }
20
+
21
+ spec.signing_key = Gem.default_key_path
22
+ spec.cert_chain = [Gem.default_cert_path]
23
+
24
+ spec.required_ruby_version = "~> 3.1"
25
+ spec.add_dependency "dry-container", "~> 0.8"
26
+ spec.add_dependency "http", "~> 5.0"
27
+ spec.add_dependency "pastel", "~> 0.8"
28
+ spec.add_dependency "rack", "~> 2.2"
29
+ spec.add_dependency "refinements", "~> 9.2"
30
+ spec.add_dependency "runcom", "~> 8.2"
31
+ spec.add_dependency "spek", "~> 0.0"
32
+ spec.add_dependency "zeitwerk", "~> 2.5"
33
+
34
+ spec.bindir = "exe"
35
+ spec.executables << "pennyworth"
36
+ spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
37
+ spec.files = Dir["*.gemspec", "lib/**/*"]
38
+ end
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: 12.0.1
4
+ version: 12.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,7 +28,7 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-01-01 00:00:00.000000000 Z
31
+ date: 2022-02-12 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: dry-container
@@ -92,28 +92,42 @@ dependencies:
92
92
  requirements:
93
93
  - - "~>"
94
94
  - !ruby/object:Gem::Version
95
- version: '9.0'
95
+ version: '9.2'
96
96
  type: :runtime
97
97
  prerelease: false
98
98
  version_requirements: !ruby/object:Gem::Requirement
99
99
  requirements:
100
100
  - - "~>"
101
101
  - !ruby/object:Gem::Version
102
- version: '9.0'
102
+ version: '9.2'
103
103
  - !ruby/object:Gem::Dependency
104
104
  name: runcom
105
105
  requirement: !ruby/object:Gem::Requirement
106
106
  requirements:
107
107
  - - "~>"
108
108
  - !ruby/object:Gem::Version
109
- version: '8.0'
109
+ version: '8.2'
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: '8.0'
116
+ version: '8.2'
117
+ - !ruby/object:Gem::Dependency
118
+ name: spek
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '0.0'
124
+ type: :runtime
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '0.0'
117
131
  - !ruby/object:Gem::Dependency
118
132
  name: zeitwerk
119
133
  requirement: !ruby/object:Gem::Requirement
@@ -159,7 +173,6 @@ files:
159
173
  - lib/pennyworth/configuration/defaults.yml
160
174
  - lib/pennyworth/configuration/loader.rb
161
175
  - lib/pennyworth/container.rb
162
- - lib/pennyworth/identity.rb
163
176
  - lib/pennyworth/inflector.rb
164
177
  - lib/pennyworth/integrations/git_hub/client.rb
165
178
  - lib/pennyworth/integrations/git_hub/response.rb
@@ -189,6 +202,7 @@ files:
189
202
  - lib/pennyworth/serializers/system/error.rb
190
203
  - lib/pennyworth/serializers/system/signal.rb
191
204
  - lib/pennyworth/serializers/text.rb
205
+ - pennyworth.gemspec
192
206
  homepage: https://www.alchemists.io/projects/pennyworth
193
207
  licenses:
194
208
  - Hippocratic-3.0
@@ -196,6 +210,7 @@ metadata:
196
210
  bug_tracker_uri: https://github.com/bkuhlmann/pennyworth/issues
197
211
  changelog_uri: https://www.alchemists.io/projects/pennyworth/versions
198
212
  documentation_uri: https://www.alchemists.io/projects/pennyworth
213
+ label: Pennyworth
199
214
  rubygems_mfa_required: 'true'
200
215
  source_code_uri: https://github.com/bkuhlmann/pennyworth
201
216
  post_install_message:
@@ -213,7 +228,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
213
228
  - !ruby/object:Gem::Version
214
229
  version: '0'
215
230
  requirements: []
216
- rubygems_version: 3.3.4
231
+ rubygems_version: 3.3.7
217
232
  signing_key:
218
233
  specification_version: 4
219
234
  summary: A command line interface that augments Alfred workflows.
metadata.gz.sig CHANGED
Binary file
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pennyworth
4
- # Gem identity information.
5
- module Identity
6
- NAME = "pennyworth"
7
- LABEL = "Pennyworth"
8
- SUMMARY = "A command line interface that augments Alfred workflows."
9
- VERSION = "12.0.1"
10
- VERSION_LABEL = "#{LABEL} #{VERSION}".freeze
11
- end
12
- end