pennyworth 15.0.3 → 15.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: 27df355ec52332d17fc49efb2c1627ff84150baaa610896b689066b58e74c732
4
- data.tar.gz: a365a155b74e480708cdebf7c92fb5cbc543e81698c48c37ea9701ab9c97b84f
3
+ metadata.gz: aafd1088d83cdaef28941a84e39ce5709aeb6650409f425dd58a2b7d2324bc2d
4
+ data.tar.gz: c8f59363157d261b4a3e2d5745b8e1b76cf2db9a3d4b6bd96c0443925fcdedf0
5
5
  SHA512:
6
- metadata.gz: 8c2f49f2ce04f03ce6dd949d77420f2f663a35168db472d1ecdd9dc32f043c9b55b820883bfcf6c62747287f719c05a132de2bd49078fe08da782b60f2108705
7
- data.tar.gz: c46b980e3cb0d667b0dc710141288b06b12727a99661deb1f5f45f5d530c4e8b58ab74ac41dd2d74073c58e5288d38126e015ec505fb007c6b362717715bb734
6
+ metadata.gz: 00a0626d8a8de7e33f9c135b199a6dbb67191ecfe85d05339c3b8868511a72c411b6d27f01ca02f56c0ead332d3ed6bf1ba1ccf6a836745db3fced9ed5ad715c
7
+ data.tar.gz: 37104b4204595fc58faf6f3178b234298f764b7e374e5720aab613b790f50f2af6b8c72a20aba98b888b10c02528c2579572b39632d0688cfbd59b482c585e48
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -84,20 +84,24 @@ USAGE
84
84
  sublime_text_kit COMMAND [OPTIONS]
85
85
 
86
86
  OPTIONS
87
- --encodings Render Alfred encodings script filter.
88
- --http_statuses Render Alfred HTTP statuses script filter.
89
- --ruby_gems [HANDLE] Render Alfred RubyGems script filter.
90
- --standard_errors Render Alfred standard errors script filter.
91
- --system_errors Render Alfred system errors script filter.
92
- --system_signals Render Alfred system signals script filter.
93
- --text CONTENT Render Alfred text script filter.
94
- -v, --version Show version.
95
- -h, --help [COMMAND] Show this message.
87
+ --encodings Render Alfred encodings script filter.
88
+ --http_statuses Render Alfred HTTP statuses script filter.
89
+ --ruby_gems [HANDLE] Render Alfred RubyGems script filter.
90
+ Default: bkuhlmann.
91
+ --standard_gems [KIND] Render Alfred Standard Gems script filter.
92
+ Use: all, default, or bundled.
93
+ Default: all.
94
+ --standard_errors Render Alfred standard errors script filter.
95
+ --system_errors Render Alfred system errors script filter.
96
+ --system_signals Render Alfred system signals script filter.
97
+ --text CONTENT Render Alfred text script filter.
98
+ -v, --version Show version.
99
+ -h, --help [COMMAND] Show this message.
96
100
 
97
101
  COMMANDS
98
- config Manage configuration.
99
- Path is dynamic per current directory.
100
- git_hub Render Alfred GitHub repositories script filter.
102
+ config Manage configuration.
103
+ Path is dynamic per current directory.
104
+ git_hub Render Alfred GitHub repositories script filter.
101
105
  ....
102
106
 
103
107
  While the command line options are nice, the real power comes from using Pennyworth in conjunction
@@ -120,31 +124,87 @@ The default configuration is as follows:
120
124
 
121
125
  [source,yaml]
122
126
  ----
123
- alfred:
124
- preferences:
125
127
  inflections:
126
- - "Bkuhlmann": "bkuhlmann"
128
+ - "Base64": "Base64"
129
+ - "Bigdecimal": "BigDecimal"
130
+ - "Cgi": "CGI"
131
+ - "Cmath": "CMath"
132
+ - "Csv": "CSV"
133
+ - "Dbm": "DBM"
134
+ - "Drb": "Distributed Ruby"
127
135
  - "Dry Auto Inject": "Dry AutoInject"
128
136
  - "Dry Cli": "Dry CLI"
137
+ - "E2mmap": "Exception to Message Mapper"
138
+ - "Erb": "ERB"
139
+ - "Fileutils": "File Utilities"
140
+ - "Gdbm": "GDBM"
141
+ - "Getoptlong": "Get Option Long"
129
142
  - "Http Fake": "HTTP Fake"
143
+ - "Io Console": "IO Console"
144
+ - "Io Nonblock": "IO Nonblock"
145
+ - "Io Wait": "IO Wait"
146
+ - "Ipaddr": "IP Address"
147
+ - "Irb": "IRB"
148
+ - "Json": "JSON"
130
149
  - "Mac Os Config": "macOS Configuration"
131
150
  - "Mac Os": "MacOS"
151
+ - "Net Ftp": "Net FTP"
152
+ - "Net Http": "Net HTTP"
153
+ - "Net Imap": "Net IMAP"
154
+ - "Net Pop": "Net POP"
155
+ - "Net Smtp": "Net SMTP"
156
+ - "Nkf": "NKF"
157
+ - "Open Uri": "OpenURI"
158
+ - "Openssl": "OpenSSL"
159
+ - "Optparse": "Option Parser"
160
+ - "Ostruct": "OpenStruct"
132
161
  - "Pkce": "PKCE"
162
+ - "Pp": "PP"
133
163
  - "Prawn Plus": "Prawn+"
134
- - "Rubocop Ast": "Rubocop AST"
135
- - "Rubocop Md": "Rubocop Markdown"
136
- - "Rubocop Rspec": "Rubocop RSpec"
164
+ - "Prettyprint": "Pretty Print"
165
+ - "Pstore": "PStore"
166
+ - "Rbs": "RBS"
167
+ - "Rdoc": "RDoc"
168
+ - "Rexml": "REXML"
169
+ - "Rss": "RSS"
170
+ - "Rubocop Ast": "RuboCop AST"
171
+ - "Rubocop Capybara": "RuboCop Capybara"
172
+ - "Rubocop Factory Bot": "RuboCop FactoryBot"
173
+ - "Rubocop Md": "RuboCop Markdown"
174
+ - "Rubocop Performance": "RuboCop Performance"
175
+ - "Rubocop Rails": "RuboCop Rails"
176
+ - "Rubocop Rake": "RuboCop Rake"
177
+ - "Rubocop Rspec": "RuboCop RSpec"
178
+ - "Rubocop Sequel": "RuboCop Sequel"
179
+ - "Rubocop Thread Safety": "RuboCop Thread Safety"
180
+ - "Rubocop": "RuboCop"
181
+ - "Ruby2_keywords": "Ruby to Keywords"
182
+ - "Rubygems": "RubyGems"
183
+ - "Sdbm": "SDBM"
184
+ - "Securerandom": "Secure Random"
185
+ - "Stringio": "String IO"
186
+ - "Strscan": "String Scan"
187
+ - "Tempfile": "Temporary File"
188
+ - "Thwait": "Threads Wait"
189
+ - "Tmpdir": "Temporary Directory"
190
+ - "Tsort": "TSort"
191
+ - "Typeprof": "Type Profiler"
192
+ - "Un": "un"
193
+ - "Uri": "URI"
194
+ - "Weakref": "Weak Reference"
195
+ - "Win32ole": "Windows 32 OLE"
137
196
  - "Xdg": "XDG"
197
+ - "Xmlrpc": "XMLRPC"
198
+ - "Yaml": "YAML"
138
199
  git_hub:
139
200
  api_url: "https://api.github.com"
140
- organization:
141
- user:
142
201
  http:
143
202
  statuses:
144
203
  url: "https://developer.mozilla.org/docs/Web/HTTP/Status"
145
204
  ruby_gems:
146
205
  api_url: "https://rubygems.org/api/v1"
147
- owner:
206
+ standard_gems:
207
+ api_url: "https://stdgems.org"
148
208
  ----
149
209
 
150
210
  Feel free to take this default configuration, modify, and save as your own custom
@@ -216,7 +276,7 @@ Provides quick access to link:https://docs.rubocop.org/rubocop[RuboCop] resource
216
276
 
217
277
  ==== Ruby
218
278
 
219
- image:https://alchemists.io/images/projects/pennyworth/screenshots/ruby.png[Ruby workflow screenshot,width=706,height=632,role=focal_point]
279
+ image:https://alchemists.io/images/projects/pennyworth/screenshots/ruby.png[Ruby workflow screenshot,width=706,height=631,role=focal_point]
220
280
 
221
281
  Provides quick access to link:https://www.ruby-lang.org[Ruby] resources.
222
282
 
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "sod"
4
+
5
+ module Pennyworth
6
+ module CLI
7
+ module Actions
8
+ # Handles the Standard Gems action.
9
+ class StandardGems < Sod::Action
10
+ include Import[:kernel]
11
+
12
+ description "Render Alfred Standard Gems script filter."
13
+
14
+ on "--standard_gems", argument: "[KIND]", allow: %w[all default bundled], default: "all"
15
+
16
+ def initialize(processor: Processor.for_standard_gems, **)
17
+ super(**)
18
+ @processor = processor
19
+ end
20
+
21
+ def call kind = nil
22
+ endpoint = "#{kind || default}_gems.json"
23
+ kernel.puts processor.call(endpoint).to_json
24
+ end
25
+
26
+ private
27
+
28
+ attr_reader :processor
29
+ end
30
+ end
31
+ end
32
+ end
@@ -34,6 +34,7 @@ module Pennyworth
34
34
  on Actions::Encodings
35
35
  on Actions::HTTPStatuses
36
36
  on Actions::RubyGems
37
+ on Actions::StandardGems
37
38
  on Actions::StandardErrors
38
39
  on Actions::System::Errors
39
40
  on Actions::System::Signals
@@ -15,6 +15,7 @@ module Pennyworth
15
15
  required(:http_statuses_url).filled :string
16
16
  required(:ruby_gems_api_url).filled :string
17
17
  optional(:ruby_gems_owner).filled :string
18
+ required(:standard_gems_api_url).filled :string
18
19
  end
19
20
  end
20
21
  end
@@ -1,16 +1,75 @@
1
1
  inflections:
2
- - "Bkuhlmann": "bkuhlmann"
2
+ - "Base64": "Base64"
3
+ - "Bigdecimal": "BigDecimal"
4
+ - "Cgi": "CGI"
5
+ - "Cmath": "CMath"
6
+ - "Csv": "CSV"
7
+ - "Dbm": "DBM"
8
+ - "Drb": "Distributed Ruby"
3
9
  - "Dry Auto Inject": "Dry AutoInject"
4
10
  - "Dry Cli": "Dry CLI"
11
+ - "E2mmap": "Exception to Message Mapper"
12
+ - "Erb": "ERB"
13
+ - "Fileutils": "File Utilities"
14
+ - "Gdbm": "GDBM"
15
+ - "Getoptlong": "Get Option Long"
5
16
  - "Http Fake": "HTTP Fake"
17
+ - "Io Console": "IO Console"
18
+ - "Io Nonblock": "IO Nonblock"
19
+ - "Io Wait": "IO Wait"
20
+ - "Ipaddr": "IP Address"
21
+ - "Irb": "IRB"
22
+ - "Json": "JSON"
6
23
  - "Mac Os Config": "macOS Configuration"
7
24
  - "Mac Os": "MacOS"
25
+ - "Net Ftp": "Net FTP"
26
+ - "Net Http": "Net HTTP"
27
+ - "Net Imap": "Net IMAP"
28
+ - "Net Pop": "Net POP"
29
+ - "Net Smtp": "Net SMTP"
30
+ - "Nkf": "NKF"
31
+ - "Open Uri": "OpenURI"
32
+ - "Openssl": "OpenSSL"
33
+ - "Optparse": "Option Parser"
34
+ - "Ostruct": "OpenStruct"
8
35
  - "Pkce": "PKCE"
36
+ - "Pp": "PP"
9
37
  - "Prawn Plus": "Prawn+"
10
- - "Rubocop Ast": "Rubocop AST"
11
- - "Rubocop Md": "Rubocop Markdown"
12
- - "Rubocop Rspec": "Rubocop RSpec"
38
+ - "Prettyprint": "Pretty Print"
39
+ - "Pstore": "PStore"
40
+ - "Rbs": "RBS"
41
+ - "Rdoc": "RDoc"
42
+ - "Rexml": "REXML"
43
+ - "Rss": "RSS"
44
+ - "Rubocop Ast": "RuboCop AST"
45
+ - "Rubocop Capybara": "RuboCop Capybara"
46
+ - "Rubocop Factory Bot": "RuboCop FactoryBot"
47
+ - "Rubocop Md": "RuboCop Markdown"
48
+ - "Rubocop Performance": "RuboCop Performance"
49
+ - "Rubocop Rails": "RuboCop Rails"
50
+ - "Rubocop Rake": "RuboCop Rake"
51
+ - "Rubocop Rspec": "RuboCop RSpec"
52
+ - "Rubocop Sequel": "RuboCop Sequel"
53
+ - "Rubocop Thread Safety": "RuboCop Thread Safety"
54
+ - "Rubocop": "RuboCop"
55
+ - "Ruby2_keywords": "Ruby to Keywords"
56
+ - "Rubygems": "RubyGems"
57
+ - "Sdbm": "SDBM"
58
+ - "Securerandom": "Secure Random"
59
+ - "Stringio": "String IO"
60
+ - "Strscan": "String Scan"
61
+ - "Tempfile": "Temporary File"
62
+ - "Thwait": "Threads Wait"
63
+ - "Tmpdir": "Temporary Directory"
64
+ - "Tsort": "TSort"
65
+ - "Typeprof": "Type Profiler"
66
+ - "Un": "un"
67
+ - "Uri": "URI"
68
+ - "Weakref": "Weak Reference"
69
+ - "Win32ole": "Windows 32 OLE"
13
70
  - "Xdg": "XDG"
71
+ - "Xmlrpc": "XMLRPC"
72
+ - "Yaml": "YAML"
14
73
  git_hub:
15
74
  api_url: "https://api.github.com"
16
75
  http:
@@ -18,3 +77,5 @@ http:
18
77
  url: "https://developer.mozilla.org/docs/Web/HTTP/Status"
19
78
  ruby_gems:
20
79
  api_url: "https://rubygems.org/api/v1"
80
+ standard_gems:
81
+ api_url: "https://stdgems.org"
@@ -10,6 +10,7 @@ module Pennyworth
10
10
  :git_hub_user,
11
11
  :http_statuses_url,
12
12
  :ruby_gems_api_url,
13
- :ruby_gems_owner
13
+ :ruby_gems_owner,
14
+ :standard_gems_api_url
14
15
  end
15
16
  end
@@ -12,21 +12,24 @@ module Pennyworth
12
12
  module Container
13
13
  extend Dry::Container::Mixin
14
14
 
15
- register :configuration do
15
+ register :configuration, memoize: true do
16
16
  self[:defaults].add_loader(Etcher::Loaders::YAML.new(self[:xdg_config].active))
17
17
  .then { |registry| Etcher.call registry }
18
18
  end
19
19
 
20
- register :defaults do
20
+ register :defaults, memoize: true do
21
21
  Etcher::Registry.new(contract: Configuration::Contract, model: Configuration::Model)
22
22
  .add_loader(Etcher::Loaders::YAML.new(self[:defaults_path]))
23
23
  end
24
24
 
25
- register(:defaults_path) { Pathname(__dir__).join("configuration/defaults.yml") }
26
- register(:xdg_config) { Runcom::Config.new "pennyworth/configuration.yml" }
27
- register(:specification) { Spek::Loader.call "#{__dir__}/../../pennyworth.gemspec" }
28
- register(:kernel) { Kernel }
29
- register(:http) { HTTP }
30
- register(:logger) { Cogger.new formatter: :emoji }
25
+ register :specification, memoize: true do
26
+ Spek::Loader.call "#{__dir__}/../../pennyworth.gemspec"
27
+ end
28
+
29
+ register(:defaults_path, memoize: true) { Pathname(__dir__).join("configuration/defaults.yml") }
30
+ register(:xdg_config, memoize: true) { Runcom::Config.new "pennyworth/configuration.yml" }
31
+ register(:logger, memoize: true) { Cogger.new formatter: :emoji }
32
+ register :http, HTTP
33
+ register :kernel, Kernel
31
34
  end
32
35
  end
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
3
4
  require "ghub"
4
5
 
5
6
  module Pennyworth
@@ -11,7 +12,7 @@ module Pennyworth
11
12
  @endpoint = endpoint
12
13
  end
13
14
 
14
- def get(path) = endpoint.index(*path.split("/")).value_or([]).map(&:to_h)
15
+ def get(path) = endpoint.index(*path.split("/")).value_or(Core::EMPTY_ARRAY).map(&:to_h)
15
16
 
16
17
  private
17
18
 
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "core"
4
+
3
5
  module Pennyworth
4
6
  module Integrations
5
7
  module RubyGems
@@ -10,7 +12,9 @@ module Pennyworth
10
12
  def get endpoint
11
13
  http.get("#{configuration.ruby_gems_api_url}/#{endpoint}")
12
14
  .then do |response|
13
- response.status.success? ? JSON(response.body.to_s, symbolize_names: true) : {}
15
+ return JSON response.body.to_s, symbolize_names: true if response.status.success?
16
+
17
+ Core::EMPTY_HASH
14
18
  end
15
19
  end
16
20
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "core"
4
+
5
+ module Pennyworth
6
+ module Integrations
7
+ module StandardGems
8
+ # Provides low-level API access to the Standard Gems API.
9
+ class Client
10
+ include Import[:configuration, :http]
11
+
12
+ # Order matters.
13
+ ENDPOINTS = %w[bundled_gems.json default_gems.json].freeze
14
+
15
+ def initialize(endpoints: ENDPOINTS, **)
16
+ @endpoints = endpoints
17
+ super(**)
18
+ end
19
+
20
+ def get endpoint
21
+ if endpoints.include? endpoint then load_category endpoint
22
+ elsif endpoint == "all_gems.json" then all
23
+ else Core::EMPTY_ARRAY
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ attr_reader :endpoints
30
+
31
+ # :reek:FeatureEnvy
32
+ # :reek:DuplicateMethodCall
33
+ def all
34
+ load_all.sort_by! { |element| element[:gem] }
35
+ .uniq! { |element| element[:gem] }
36
+ .then { |collection| collection || Core::EMPTY_ARRAY }
37
+ end
38
+
39
+ def load_all
40
+ endpoints.reduce [] do |collection, endpoint|
41
+ collection.append(*load_category(endpoint))
42
+ end
43
+ end
44
+
45
+ def load_category endpoint
46
+ http.get("#{configuration.standard_gems_api_url}/#{endpoint}")
47
+ .then do |response|
48
+ response.status.success? ? records(response.body.to_s) : Core::EMPTY_HASH
49
+ end
50
+ end
51
+
52
+ def records(body) = JSON(body, symbolize_names: true).fetch :gems, Core::EMPTY_ARRAY
53
+ end
54
+ end
55
+ end
56
+ end
@@ -8,6 +8,8 @@ module Pennyworth
8
8
 
9
9
  def self.for_ruby_gems = new(client: Integrations::RubyGems::Client.new)
10
10
 
11
+ def self.for_standard_gems = new(client: Integrations::StandardGems::Client.new)
12
+
11
13
  def initialize client:
12
14
  @client = client
13
15
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "core"
4
+ require "refinements/strings"
5
+
6
+ module Pennyworth
7
+ module Presenters
8
+ # Renders Standard Gem records into a compatible format for use in Alfred script filters.
9
+ class StandardGem
10
+ using Refinements::Arrays
11
+ using Refinements::Strings
12
+
13
+ def initialize record, inflector: Inflector.new
14
+ @record = record
15
+ @inflector = inflector
16
+ end
17
+
18
+ def id = record.fetch :gem
19
+
20
+ def label = "#{inflector.call id.titleize} #{version}"
21
+
22
+ def subtitle = record.fetch :description
23
+
24
+ def version = record.fetch(:versions, Core::EMPTY_HASH).values.first
25
+
26
+ def site_url = record.fetch(:sourceRepository)
27
+
28
+ def source_url = record.fetch(:sourceRepository)
29
+
30
+ def issues_url = "https://github.com/ruby/#{id}/issues"
31
+
32
+ def versions_url = "https://github.com/ruby/#{id}/tags"
33
+
34
+ private
35
+
36
+ attr_reader :record, :inflector
37
+ end
38
+ end
39
+ end
@@ -27,6 +27,12 @@ module Pennyworth
27
27
  serializer: Serializers::Project
28
28
  end
29
29
 
30
+ def self.for_standard_gems
31
+ new loader: Loaders::Projects.for_standard_gems,
32
+ presenter: Presenters::StandardGem,
33
+ serializer: Serializers::Project
34
+ end
35
+
30
36
  def self.for_standard_errors
31
37
  new loader: Loaders::StandardErrors.new,
32
38
  presenter: Presenters::StandardError,
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 = "15.0.3"
5
+ spec.version = "15.1.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/pennyworth"
@@ -24,6 +24,7 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.required_ruby_version = "~> 3.2"
26
26
  spec.add_dependency "cogger", "~> 0.10"
27
+ spec.add_dependency "core", "~> 0.1.4"
27
28
  spec.add_dependency "dry-container", "~> 0.11"
28
29
  spec.add_dependency "etcher", "~> 0.2"
29
30
  spec.add_dependency "ghub", "~> 0.5"
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: 15.0.3
4
+ version: 15.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-07-01 00:00:00.000000000 Z
38
+ date: 2023-07-27 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: cogger
@@ -51,6 +51,20 @@ dependencies:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0.10'
54
+ - !ruby/object:Gem::Dependency
55
+ name: core
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: 0.1.4
61
+ type: :runtime
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: 0.1.4
54
68
  - !ruby/object:Gem::Dependency
55
69
  name: dry-container
56
70
  requirement: !ruby/object:Gem::Requirement
@@ -225,6 +239,7 @@ files:
225
239
  - lib/pennyworth/cli/actions/http_statuses.rb
226
240
  - lib/pennyworth/cli/actions/ruby_gems.rb
227
241
  - lib/pennyworth/cli/actions/standard_errors.rb
242
+ - lib/pennyworth/cli/actions/standard_gems.rb
228
243
  - lib/pennyworth/cli/actions/system/errors.rb
229
244
  - lib/pennyworth/cli/actions/system/signals.rb
230
245
  - lib/pennyworth/cli/actions/text.rb
@@ -237,6 +252,7 @@ files:
237
252
  - lib/pennyworth/inflector.rb
238
253
  - lib/pennyworth/integrations/git_hub/client.rb
239
254
  - lib/pennyworth/integrations/ruby_gems/client.rb
255
+ - lib/pennyworth/integrations/standard_gems/client.rb
240
256
  - lib/pennyworth/loaders/encodings.rb
241
257
  - lib/pennyworth/loaders/http_statuses.rb
242
258
  - lib/pennyworth/loaders/projects.rb
@@ -255,6 +271,7 @@ files:
255
271
  - lib/pennyworth/presenters/http_status.rb
256
272
  - lib/pennyworth/presenters/repository.rb
257
273
  - lib/pennyworth/presenters/standard_error.rb
274
+ - lib/pennyworth/presenters/standard_gem.rb
258
275
  - lib/pennyworth/presenters/system/error.rb
259
276
  - lib/pennyworth/presenters/system/signal.rb
260
277
  - lib/pennyworth/presenters/text.rb
@@ -293,7 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
293
310
  - !ruby/object:Gem::Version
294
311
  version: '0'
295
312
  requirements: []
296
- rubygems_version: 3.4.15
313
+ rubygems_version: 3.4.17
297
314
  signing_key:
298
315
  specification_version: 4
299
316
  summary: A command line interface for augmenting Alfred workflows.
metadata.gz.sig CHANGED
@@ -1 +1,3 @@
1
- 0xD����ґ���OE ��9Ub��z/x�:�)��"�g��CDO��k�`��o`�X4�ܓ��1�E iyyT�z�7bԲ���Қ��@���Y��M̜�৪�1�������ݍ��&c�+A���B�� <^�s"�9fT�ۈ�����N�i�3g�YHt �S�k���Yq��8����������9���f"jk�z
1
+ ���G�yW��*�_Ӝ��3����@�yba�?��;�1a%d}k0����2zN{/�7 ����\Y����7V,!4.ۃ��BStBj(��ΐ
2
+ c��i��Sm~ɻzH��[\ z�~�z�\O>紧�C��r�ƶ�b�q���P�%S�o����P�g���<���Q@�Y>0079�z
3
+ �EIV\�)�� n�'0Iy2y �ʔ���ؒ��J��a&���vV�:��w4�2���,�CU��\[�ʗeNm"��K���d�hk!�j��Α�uJIO�T2iu�V����8�>��}��6�����4�$�12����Ә��+�Ceڜ��$�|[4&��d��h�#�����o����ل��B7�NYI- �K��u�y�