pennyworth 12.0.0 → 12.2.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: 5308544c010334be8f3011e133802dfaf97ac83d45ec55cf55a212a44233fab8
4
- data.tar.gz: 78c2d3c5b9ccee38a9f3d6218dc9922656cb0fa01c59bcc65a46cb1943a291e1
3
+ metadata.gz: 42b4f404ffe401abeab29fa309f6685448039b0db9eaa453cbd067f3b523da92
4
+ data.tar.gz: 027c44b77175f6baac55a592698b42617803bfc31919a1602f86c7db2db3b04f
5
5
  SHA512:
6
- metadata.gz: 4c7e9b3317c0a32d7ced3377c7a4f203165ccd4359f3606909f07d48f5bfc3f7ad2cb93b867ea1487042a604dc8c65c0bbffd5ca88028cf218f4200541f34eed
7
- data.tar.gz: 56d86a52b6d1577d86086160a11c59e1f95a20d3ce0206910314ba1ceeaf2897c2c3d466eecd27dc2fa76b3ac09e410ba7599659d8577432cca21138e867265c
6
+ metadata.gz: 4eb764d370665ff7e8f32a60d13af3cbf33df5ed45f993b3be37e37ba27e0cc97465dc7604200c84e2ecd9eaadc4e7e317a6af66f8f9798ca88ac57ae445764b
7
+ data.tar.gz: 7a63ff86e91c336ddcea9f45c881cc780ee6525107dd31d471785791a5619343805faec0d2d4a747927653d9bb3f739b8f6606a264939497008e2e6e5f5d58e1
checksums.yaml.gz.sig CHANGED
Binary file
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
@@ -579,35 +572,17 @@ To test, run:
579
572
  bundle exec rake
580
573
  ----
581
574
 
582
- == Versioning
583
-
584
- Read link:https://semver.org[Semantic Versioning] for details. Briefly, it means:
585
-
586
- * Major (X.y.z) - Incremented for any backwards incompatible public API changes.
587
- * Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
588
- * Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
589
-
590
- == Code of Conduct
591
-
592
- Please note that this project is released with a link:CODE_OF_CONDUCT.adoc[CODE OF CONDUCT]. By
593
- participating in this project you agree to abide by its terms.
594
-
595
- == Contributions
596
-
597
- Read link:CONTRIBUTING.adoc[CONTRIBUTING] for details.
598
-
599
- == Community
575
+ == link:https://www.alchemists.io/policies/license[License]
600
576
 
601
- Feel free to link:https://www.alchemists.io/community[join the commmunity] for discussions related
602
- to this project and much more.
577
+ == link:https://www.alchemists.io/policies/security[Security]
603
578
 
604
- == License
579
+ == link:https://www.alchemists.io/policies/code_of_conduct[Code of Conduct]
605
580
 
606
- Read link:LICENSE.adoc[LICENSE] for details.
581
+ == link:https://www.alchemists.io/policies/contributions[Contributions]
607
582
 
608
- == Changes
583
+ == link:https://www.alchemists.io/projects/pennyworth/versions[Versions]
609
584
 
610
- Read link:CHANGES.adoc[CHANGES] for details.
585
+ == link:https://www.alchemists.io/community[Community]
611
586
 
612
587
  == Credits
613
588
 
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.2.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.1"
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.0
4
+ version: 12.2.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: 2021-12-29 00:00:00.000000000 Z
31
+ date: 2022-02-06 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.1'
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.1'
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,13 +202,15 @@ 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
195
209
  metadata:
196
210
  bug_tracker_uri: https://github.com/bkuhlmann/pennyworth/issues
197
- changelog_uri: https://www.alchemists.io/projects/pennyworth/changes.html
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.6
217
232
  signing_key:
218
233
  specification_version: 4
219
234
  summary: A command line interface that augments Alfred workflows.
metadata.gz.sig CHANGED
@@ -1,3 +1,2 @@
1
- 9+�&�!���̌�c�b>���?b�$`�OG��;癨�)��4��׺�������1���XF9��mr�����<A
2
- ݣ��0��t �B�'ds�MUUL^��<^�
3
- ������z��s��F�>R������$� �����f�R�´u�\nA��BR�_�$��偵DŽG�w����hO���W�!^o"�D�~S߃���}12C�9,��Řyv��!�&�6p��,���\66��X����b-��,ؠ�
1
+ oNj#vwN�7ۤ/5�|Hl0���w�]�b�˘4�K�I5�f��U-68, xOOW��S�On��Y�e�Kt��g|b�u_�V�B >.�av `�s��w:���{��hM�:�l����B�/�LеB)��������a��_�k
2
+ 
@@ -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.0"
10
- VERSION_LABEL = "#{LABEL} #{VERSION}".freeze
11
- end
12
- end