pennyworth 12.3.1 → 13.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5cae776956dd514ba39f58c667abb64ff02ea6d85db52ec8b9bd016b0b0ca903
4
- data.tar.gz: e626fe84e3bdbcd5ec99601e88d09aaa53675191c34bf7b2bdc999952d78c5ce
3
+ metadata.gz: 65ec39b7057feb66b3530a5f4ec44b1649093b871b1dcba10b783e45e2b5f181
4
+ data.tar.gz: 020e6240c268646bf6522ffc283d50fadd4ad1413126e3328d64c03098af6329
5
5
  SHA512:
6
- metadata.gz: 4ddbfa3d108320b29e6f79d900ccbe099d86413e8e41e116795e6e59daf4677ab631f69f8fa705e28d0adec5945e29278e760f80841234a3281690b1a7b69aee
7
- data.tar.gz: 3d8039b0587e30e3a57d9a6f3142df55e9aa4f9ce4bcddab6c06c20db28473152b10e53a741616306958a3591380950d510510378c8e44aef58cdf5765764506
6
+ metadata.gz: c9a74e10efac0ce02c565883d0cac022813c53ad765b4f912ab1ceee9432fc1e5c1b749180463b0413f96dac92d26838e4a2e4fdf18e50b5b1e8398507f3186f
7
+ data.tar.gz: a0f2724e65cf94370288a1f640d74c86c595a83231c30f23765799660ce92b7e4dfbb08bff0808b46b00e625ccc0c8edc2744221238e97be8e7eef27568d5bb1
checksums.yaml.gz.sig CHANGED
Binary file
data/README.adoc CHANGED
@@ -438,7 +438,7 @@ launched.
438
438
 
439
439
  ===== Browsers
440
440
 
441
- image:https://www.alchemists.io/images/projects/pennyworth/screenshots/browsers.png[Browsers workflow screenshot.,width=706,height=470,role=focal_point]
441
+ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/browsers.png[Browsers workflow screenshot.,width=706,height=308,role=focal_point]
442
442
 
443
443
  Provides browser related utilities.
444
444
 
@@ -466,6 +466,16 @@ A link:https://elm-lang.org[Elm] workflow for quick access to Elm resources.
466
466
  click to install.
467
467
  2. Type `elm` to view general information, arrow keys to navigate, and `ENTER` to view information.
468
468
 
469
+ ===== GitHub
470
+
471
+ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/github.png[GitHub workflow screenshot.,width=706,height=632,role=focal_point]
472
+
473
+ Provides link:https://github.com[GitHub] resources.
474
+
475
+ 1. link:https://www.alchemists.io/public/alfred/workflows/github.alfredworkflow[Download] and
476
+ double click to install.
477
+ 2. Type `gh` to activate and then fuzzy type to filter.
478
+
469
479
  ===== Hanami
470
480
 
471
481
  image:https://www.alchemists.io/images/projects/pennyworth/screenshots/hanami.png[Hanami workflow screenshot.,width=706,height=632,role=focal_point]
@@ -488,7 +498,7 @@ Shortens URLs using link:https://chl.li[chl.li].
488
498
 
489
499
  ===== Docker
490
500
 
491
- image:https://www.alchemists.io/images/projects/pennyworth/screenshots/docker.png[Docker workflow screenshot.,width=706,height=524,role=focal_point]
501
+ image:https://www.alchemists.io/images/projects/pennyworth/screenshots/docker.png[Docker workflow screenshot.,width=706,height=470,role=focal_point]
492
502
 
493
503
  Provides link:https://www.docker.com[Docker] resources.
494
504
 
@@ -5,9 +5,11 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the configuration action.
7
7
  class Config
8
- def initialize configuration: Configuration::Loader::CLIENT, container: Container
8
+ include Pennyworth::Import[:kernel, :logger]
9
+
10
+ def initialize configuration: Configuration::Loader::CLIENT, **dependencies
11
+ super(**dependencies)
9
12
  @configuration = configuration
10
- @container = container
11
13
  end
12
14
 
13
15
  def call action
@@ -20,15 +22,11 @@ module Pennyworth
20
22
 
21
23
  private
22
24
 
23
- attr_reader :configuration, :container
25
+ attr_reader :configuration
24
26
 
25
27
  def edit = kernel.system("$EDITOR #{configuration.current}")
26
28
 
27
29
  def view = kernel.system("cat #{configuration.current}")
28
-
29
- def kernel = container[__method__]
30
-
31
- def logger = container[__method__]
32
30
  end
33
31
  end
34
32
  end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "dry/container"
4
+
5
+ module Pennyworth
6
+ module CLI
7
+ module Actions
8
+ # Provides a single container with application and action specific dependencies.
9
+ module Container
10
+ extend Dry::Container::Mixin
11
+
12
+ config.registry = ->(container, key, value, _options) { container[key.to_s] = value }
13
+
14
+ merge Pennyworth::Container
15
+
16
+ register(:config) { Config.new }
17
+ register(:encodings) { Encodings.new }
18
+ register(:git_hub) { GitHub.new }
19
+ register(:http_statuses) { HTTPStatuses.new }
20
+ register(:ruby_gems) { RubyGems.new }
21
+ register(:system_errors) { System::Errors.new }
22
+ register(:system_signals) { System::Signals.new }
23
+ register(:text) { Text.new }
24
+ end
25
+ end
26
+ end
27
+ end
@@ -5,18 +5,18 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the encodings action.
7
7
  class Encodings
8
- def initialize processor: Processor.for_encodings, container: Container
8
+ include Pennyworth::Import[:logger]
9
+
10
+ def initialize processor: Processor.for_encodings, **dependencies
11
+ super(**dependencies)
9
12
  @processor = processor
10
- @container = container
11
13
  end
12
14
 
13
15
  def call = processor.call.to_json.then { |json| logger.info { json } }
14
16
 
15
17
  private
16
18
 
17
- attr_reader :processor, :container
18
-
19
- def logger = container[__method__]
19
+ attr_reader :processor
20
20
  end
21
21
  end
22
22
  end
@@ -5,9 +5,11 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the GitHub action.
7
7
  class GitHub
8
- def initialize processor: Processor.for_projects, container: Container
8
+ include Pennyworth::Import[:logger]
9
+
10
+ def initialize processor: Processor.for_projects, **dependencies
11
+ super(**dependencies)
9
12
  @processor = processor
10
- @container = container
11
13
  end
12
14
 
13
15
  def call endpoint
@@ -18,9 +20,7 @@ module Pennyworth
18
20
 
19
21
  private
20
22
 
21
- attr_reader :processor, :container
22
-
23
- def logger = container[__method__]
23
+ attr_reader :processor
24
24
  end
25
25
  end
26
26
  end
@@ -5,18 +5,18 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the HTTP statuses action.
7
7
  class HTTPStatuses
8
- def initialize processor: Processor.for_http_statuses, container: Container
8
+ include Pennyworth::Import[:logger]
9
+
10
+ def initialize processor: Processor.for_http_statuses, **dependencies
11
+ super(**dependencies)
9
12
  @processor = processor
10
- @container = container
11
13
  end
12
14
 
13
15
  def call = processor.call.to_json.then { |json| logger.info { json } }
14
16
 
15
17
  private
16
18
 
17
- attr_reader :processor, :container
18
-
19
- def logger = container[__method__]
19
+ attr_reader :processor
20
20
  end
21
21
  end
22
22
  end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "auto_injector"
4
+
5
+ module Pennyworth
6
+ module CLI
7
+ module Actions
8
+ Import = AutoInjector[Container]
9
+ end
10
+ end
11
+ end
@@ -5,9 +5,11 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the RubyGems action.
7
7
  class RubyGems
8
- def initialize processor: Processor.for_gems, container: Container
8
+ include Pennyworth::Import[:logger]
9
+
10
+ def initialize processor: Processor.for_gems, **dependencies
11
+ super(**dependencies)
9
12
  @processor = processor
10
- @container = container
11
13
  end
12
14
 
13
15
  def call endpoint
@@ -18,9 +20,7 @@ module Pennyworth
18
20
 
19
21
  private
20
22
 
21
- attr_reader :processor, :container
22
-
23
- def logger = container[__method__]
23
+ attr_reader :processor
24
24
  end
25
25
  end
26
26
  end
@@ -6,18 +6,18 @@ module Pennyworth
6
6
  module System
7
7
  # Handles the system errors action.
8
8
  class Errors
9
- def initialize processor: Processor.for_system_errors, container: Container
9
+ include Pennyworth::Import[:logger]
10
+
11
+ def initialize processor: Processor.for_system_errors, **dependencies
12
+ super(**dependencies)
10
13
  @processor = processor
11
- @container = container
12
14
  end
13
15
 
14
16
  def call = processor.call.to_json.then { |json| logger.info { json } }
15
17
 
16
18
  private
17
19
 
18
- attr_reader :processor, :container
19
-
20
- def logger = container[__method__]
20
+ attr_reader :processor
21
21
  end
22
22
  end
23
23
  end
@@ -6,18 +6,18 @@ module Pennyworth
6
6
  module System
7
7
  # Handles the signal action.
8
8
  class Signals
9
- def initialize processor: Processor.for_system_signals, container: Container
9
+ include Pennyworth::Import[:logger]
10
+
11
+ def initialize processor: Processor.for_system_signals, **dependencies
12
+ super(**dependencies)
10
13
  @processor = processor
11
- @container = container
12
14
  end
13
15
 
14
16
  def call = processor.call.to_json.then { |json| logger.info { json } }
15
17
 
16
18
  private
17
19
 
18
- attr_reader :processor, :container
19
-
20
- def logger = container[__method__]
20
+ attr_reader :processor
21
21
  end
22
22
  end
23
23
  end
@@ -5,18 +5,18 @@ module Pennyworth
5
5
  module Actions
6
6
  # Handles the text action.
7
7
  class Text
8
- def initialize processor: Processor.for_text, container: Container
8
+ include Pennyworth::Import[:logger]
9
+
10
+ def initialize processor: Processor.for_text, **dependencies
11
+ super(**dependencies)
9
12
  @processor = processor
10
- @container = container
11
13
  end
12
14
 
13
15
  def call(content) = processor.call(content).to_json.then { |json| logger.info { json } }
14
16
 
15
17
  private
16
18
 
17
- attr_reader :processor, :container
18
-
19
- def logger = container[__method__]
19
+ attr_reader :processor
20
20
  end
21
21
  end
22
22
  end
@@ -9,25 +9,25 @@ module Pennyworth
9
9
  CLIENT = OptionParser.new nil, 40, " "
10
10
  SECTIONS = [Parsers::Core, Parsers::GitHub, Parsers::RubyGems].freeze # Order is important.
11
11
 
12
- def initialize configuration = Configuration::Loader.call,
12
+ def initialize configuration = Container[:configuration],
13
13
  sections: SECTIONS,
14
14
  client: CLIENT
15
- @configuration = configuration.dup
15
+ @configuration_duplicate = configuration.dup
16
16
  @sections = sections
17
17
  @client = client
18
18
  end
19
19
 
20
20
  def call arguments = []
21
- sections.each { |parser| parser.call configuration, client: }
21
+ sections.each { |parser| parser.call configuration_duplicate, client: }
22
22
  client.parse arguments
23
- configuration.freeze
23
+ configuration_duplicate.freeze
24
24
  end
25
25
 
26
26
  def to_s = client.to_s
27
27
 
28
28
  private
29
29
 
30
- attr_reader :configuration, :client, :sections
30
+ attr_reader :configuration_duplicate, :client, :sections
31
31
  end
32
32
  end
33
33
  end
@@ -10,14 +10,16 @@ module Pennyworth
10
10
 
11
11
  # Handles parsing of Command Line Interface (CLI) core options.
12
12
  class Core
13
+ include Import[:specification]
14
+
13
15
  def self.call(...) = new(...).call
14
16
 
15
- def initialize configuration = Configuration::Loader.call,
17
+ def initialize configuration = Container[:configuration],
16
18
  client: Parser::CLIENT,
17
- container: Container
19
+ **dependencies
20
+ super(**dependencies)
18
21
  @configuration = configuration
19
22
  @client = client
20
- @container = container
21
23
  end
22
24
 
23
25
  def call arguments = []
@@ -30,7 +32,7 @@ module Pennyworth
30
32
 
31
33
  private
32
34
 
33
- attr_reader :configuration, :client, :container
35
+ attr_reader :configuration, :client
34
36
 
35
37
  def collate = private_methods.sort.grep(/add_/).each { |method| __send__ method }
36
38
 
@@ -98,8 +100,6 @@ module Pennyworth
98
100
  configuration.action_help = true
99
101
  end
100
102
  end
101
-
102
- def specification = container[__method__]
103
103
  end
104
104
  end
105
105
  end
@@ -11,7 +11,7 @@ module Pennyworth
11
11
 
12
12
  def self.call(...) = new(...).call
13
13
 
14
- def initialize configuration = Configuration::Loader.call, client: Parser::CLIENT
14
+ def initialize configuration = Container[:configuration], client: Parser::CLIENT
15
15
  @configuration = configuration
16
16
  @client = client
17
17
  end
@@ -7,7 +7,7 @@ module Pennyworth
7
7
  class RubyGems
8
8
  def self.call(...) = new(...).call
9
9
 
10
- def initialize configuration = Configuration::Loader.call, client: Parser::CLIENT
10
+ def initialize configuration = Container[:configuration], client: Parser::CLIENT
11
11
  @configuration = configuration
12
12
  @client = client
13
13
  end
@@ -4,21 +4,22 @@ module Pennyworth
4
4
  module CLI
5
5
  # The main Command Line Interface (CLI) object.
6
6
  class Shell
7
- ACTIONS = {
8
- config: Actions::Config.new,
9
- encodings: Actions::Encodings.new,
10
- git_hub: Actions::GitHub.new,
11
- http_statuses: Actions::HTTPStatuses.new,
12
- ruby_gems: Actions::RubyGems.new,
13
- system_errors: Actions::System::Errors.new,
14
- system_signals: Actions::System::Signals.new,
15
- text: Actions::Text.new
16
- }.freeze
17
-
18
- def initialize parser: Parser.new, actions: ACTIONS, container: Container
7
+ include Actions::Import[
8
+ :config,
9
+ :encodings,
10
+ :git_hub,
11
+ :http_statuses,
12
+ :ruby_gems,
13
+ :system_errors,
14
+ :system_signals,
15
+ :text,
16
+ :specification,
17
+ :logger
18
+ ]
19
+
20
+ def initialize parser: Parser.new, **dependencies
21
+ super(**dependencies)
19
22
  @parser = parser
20
- @actions = actions
21
- @container = container
22
23
  end
23
24
 
24
25
  def call arguments = []
@@ -29,55 +30,25 @@ module Pennyworth
29
30
 
30
31
  private
31
32
 
32
- attr_reader :parser, :actions, :container
33
+ attr_reader :parser
33
34
 
34
- # rubocop:disable Metrics/MethodLength
35
35
  def perform configuration
36
36
  case configuration
37
- in action_config: Symbol => action then config action
38
- in action_encodings: true then encodings
39
- in action_git_hub: :organization then git_hub_organization configuration
40
- in action_git_hub: :user then git_hub_user configuration
41
- in action_http_statuses: true then http_statuses
42
- in action_ruby_gems: true then ruby_gems configuration
43
- in action_system_signals: true then system_signals
44
- in action_system_errors: true then system_errors
45
- in action_text: String => content then text content
37
+ in action_config: Symbol => action then config.call action
38
+ in action_encodings: true then encodings.call
39
+ in action_git_hub: :organization
40
+ git_hub.call "orgs/#{configuration.git_hub_organization}/repos"
41
+ in action_git_hub: :user then git_hub.call "users/#{configuration.git_hub_user}/repos"
42
+ in action_http_statuses: true then http_statuses.call
43
+ in action_ruby_gems: true
44
+ ruby_gems.call "owners/#{configuration.ruby_gems_owner}/gems.json"
45
+ in action_system_signals: true then system_signals.call
46
+ in action_system_errors: true then system_errors.call
47
+ in action_text: String => content then text.call content
46
48
  in action_version: true then logger.info { specification.labeled_version }
47
- else usage
49
+ else logger.any { parser.to_s }
48
50
  end
49
51
  end
50
- # rubocop:enable Metrics/MethodLength
51
-
52
- def config(action) = actions.fetch(__method__).call(action)
53
-
54
- def encodings = actions.fetch(__method__).call
55
-
56
- def git_hub_organization configuration
57
- actions.fetch(:git_hub).call("orgs/#{configuration.git_hub_organization}/repos")
58
- end
59
-
60
- def git_hub_user configuration
61
- actions.fetch(:git_hub).call("users/#{configuration.git_hub_user}/repos")
62
- end
63
-
64
- def http_statuses = actions.fetch(__method__).call
65
-
66
- def ruby_gems configuration
67
- actions.fetch(__method__).call("owners/#{configuration.ruby_gems_owner}/gems.json")
68
- end
69
-
70
- def system_errors = actions.fetch(__method__).call
71
-
72
- def system_signals = actions.fetch(__method__).call
73
-
74
- def text(content) = actions.fetch(__method__).call(content)
75
-
76
- def usage = logger.unknown { parser.to_s }
77
-
78
- def specification = container[__method__]
79
-
80
- def logger = container[__method__]
81
52
  end
82
53
  end
83
54
  end
@@ -1,9 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry-container"
4
- require "logger"
3
+ require "cogger"
4
+ require "dry/container"
5
5
  require "http"
6
- require "pastel"
7
6
  require "spek"
8
7
 
9
8
  module Pennyworth
@@ -16,27 +15,6 @@ module Pennyworth
16
15
  register(:environment) { ENV }
17
16
  register(:kernel) { Kernel }
18
17
  register(:http) { HTTP }
19
- register(:colorizer) { Pastel.new enabled: $stdout.tty? }
20
-
21
- register :log_colors do
22
- {
23
- "DEBUG" => self[:colorizer].white.detach,
24
- "INFO" => self[:colorizer].green.detach,
25
- "WARN" => self[:colorizer].yellow.detach,
26
- "ERROR" => self[:colorizer].red.detach,
27
- "FATAL" => self[:colorizer].white.bold.on_red.detach,
28
- "ANY" => self[:colorizer].white.bold.detach
29
- }
30
- end
31
-
32
- register :logger do
33
- Logger.new $stdout,
34
- level: Logger.const_get(ENV.fetch("LOG_LEVEL", "INFO")),
35
- formatter: (
36
- lambda do |severity, _at, _name, message|
37
- self[:log_colors][severity].call "#{message}\n"
38
- end
39
- )
40
- end
18
+ register(:logger) { Cogger::Client.new }
41
19
  end
42
20
  end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "auto_injector"
4
+
5
+ module Pennyworth
6
+ Import = AutoInjector[Container]
7
+ end
@@ -7,6 +7,8 @@ module Pennyworth
7
7
  module GitHub
8
8
  # Provides low-level API access to the GitHub API.
9
9
  class Client
10
+ include Import[:configuration, :http, :environment]
11
+
10
12
  using Refinements::Arrays
11
13
 
12
14
  HEADERS = {
@@ -14,9 +16,9 @@ module Pennyworth
14
16
  content_type: "Content-Type: application/json; charset=utf-8"
15
17
  }.freeze
16
18
 
17
- def initialize headers: HEADERS, container: Container
19
+ def initialize headers: HEADERS, **dependencies
20
+ super(**dependencies)
18
21
  @headers = headers
19
- @container = container
20
22
  end
21
23
 
22
24
  def get endpoint, parameters: {}
@@ -25,7 +27,7 @@ module Pennyworth
25
27
 
26
28
  private
27
29
 
28
- attr_reader :headers, :container
30
+ attr_reader :headers
29
31
 
30
32
  # :reek:FeatureEnvy
31
33
  def paginate request, records: [], page: 1
@@ -42,17 +44,13 @@ module Pennyworth
42
44
  def sole_get endpoint, parameters: {}
43
45
  http.headers(headers)
44
46
  .basic_auth(user: api_login, pass: api_token)
45
- .get("#{api_url}/#{endpoint}", params: parameters)
47
+ .get("#{configuration.git_hub_api_url}/#{endpoint}", params: parameters)
46
48
  .then { |response| Response.new response }
47
49
  end
48
50
 
49
- def http = container[__method__]
50
-
51
- def api_url = container[:configuration].git_hub_api_url
52
-
53
- def api_login = container[:environment].fetch("GITHUB_API_LOGIN")
51
+ def api_login = environment.fetch "GITHUB_API_LOGIN"
54
52
 
55
- def api_token = container[:environment].fetch("GITHUB_API_TOKEN")
53
+ def api_token = environment.fetch "GITHUB_API_TOKEN"
56
54
  end
57
55
  end
58
56
  end
@@ -5,24 +5,14 @@ module Pennyworth
5
5
  module RubyGems
6
6
  # Provides low-level API access to the RubyGems API.
7
7
  class Client
8
- def initialize container: Container
9
- @container = container
10
- end
8
+ include Import[:configuration, :http]
11
9
 
12
10
  def get endpoint
13
- http.get("#{api_url}/#{endpoint}")
11
+ http.get("#{configuration.ruby_gems_api_url}/#{endpoint}")
14
12
  .then do |response|
15
13
  response.status.success? ? JSON(response.body.to_s, symbolize_names: true) : {}
16
14
  end
17
15
  end
18
-
19
- private
20
-
21
- attr_reader :container
22
-
23
- def http = container[__method__]
24
-
25
- def api_url = container[:configuration].ruby_gems_api_url
26
16
  end
27
17
  end
28
18
  end
@@ -6,12 +6,14 @@ module Pennyworth
6
6
  module Loaders
7
7
  # Loads an array of HTTP status records.
8
8
  class HTTPStatuses
9
+ include Import[:configuration]
10
+
9
11
  def initialize codes: Rack::Utils::HTTP_STATUS_CODES,
10
12
  model: Models::HTTPStatus,
11
- configuration: Configuration::Loader.call
13
+ **dependencies
14
+ super(**dependencies)
12
15
  @codes = codes
13
16
  @model = model
14
- @configuration = configuration
15
17
  end
16
18
 
17
19
  def call _omit = nil
@@ -20,7 +22,7 @@ module Pennyworth
20
22
 
21
23
  private
22
24
 
23
- attr_reader :codes, :model, :configuration
25
+ attr_reader :codes, :model
24
26
 
25
27
  def url = configuration.http_statuses_url
26
28
  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 = "12.3.1"
5
+ spec.version = "13.0.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,9 +22,10 @@ Gem::Specification.new do |spec|
22
22
  spec.cert_chain = [Gem.default_cert_path]
23
23
 
24
24
  spec.required_ruby_version = "~> 3.1"
25
+ spec.add_dependency "auto_injector", "~> 0.4"
26
+ spec.add_dependency "cogger", "~> 0.0"
25
27
  spec.add_dependency "dry-container", "~> 0.8"
26
28
  spec.add_dependency "http", "~> 5.0"
27
- spec.add_dependency "pastel", "~> 0.8"
28
29
  spec.add_dependency "rack", "~> 2.2"
29
30
  spec.add_dependency "refinements", "~> 9.2"
30
31
  spec.add_dependency "runcom", "~> 8.2"
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.3.1
4
+ version: 13.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -10,9 +10,9 @@ bindir: exe
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIC/jCCAeagAwIBAgIBBDANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
- a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMTAzMTkxMjQ4MDZaFw0yMjAzMTkx
15
- MjQ4MDZaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
13
+ MIIC/jCCAeagAwIBAgIBBTANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpicm9v
14
+ a2UvREM9YWxjaGVtaXN0cy9EQz1pbzAeFw0yMjAzMTkxNzI0MzJaFw0yMzAzMTkx
15
+ NzI0MzJaMCUxIzAhBgNVBAMMGmJyb29rZS9EQz1hbGNoZW1pc3RzL0RDPWlvMIIB
16
16
  IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6l1qpXTiomH1RfMRloyw7MiE
17
17
  xyVx/x8Yc3EupdH7uhNaTXQGyORN6aOY//1QXXMHIZ9tW74nZLhesWMSUMYy0XhB
18
18
  brs+KkurHnc9FnEJAbG7ebGvl/ncqZt72nQvaxpDxvuCBHgJAz+8i5wl6FhLw+oT
@@ -20,46 +20,46 @@ cert_chain:
20
20
  D5vkU0YlAm1r98BymuJlcQ1qdkVEI1d48ph4kcS0S0nv1RiuyVb6TCAR3Nu3VaVq
21
21
  3fPzZKJLZBx67UvXdbdicWPiUR75elI4PXpLIic3xytaF52ZJYyKZCNZJhNwfQID
22
22
  AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU0nzow9vc
23
- 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAEjpaOXHHp8s/7GL2qCb
24
- YAs7urOLv9VHSPfQWAwaTMVnSsIf3Sw4xzISOP/mmfEPBPXtz61K5esrE/uTFtgb
25
- FyjxQk2H0sEWgrRXGGNHBWQRhhEs7LP/TByoC15A0br++xLxRz4r7HBLGAWQQDpg
26
- 66BJ2TBVjxS6K64tKbq7+ACyrOZGgTfNHACh4M076y0x0oRf/rwBrU39/KRfuhbb
27
- cm+nNCEtO35gTmZ2bVDHLGvWazi3gJt6+huQjfXTCUUG2YYBxwhu+GPdAGQPxpf9
28
- lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
- W2A=
23
+ 2CdikiiE3fJhP/gY4ggwDQYJKoZIhvcNAQELBQADggEBAJbbNyWzFjqUNVPPCUCo
24
+ IMrhDa9xf1xkORXNYYbmXgoxRy/KyNbUr+jgEEoWJAm9GXlcqxxWAUI6pK/i4/Qi
25
+ X6rPFEFmeObDOHNvuqy8Hd6AYsu+kP94U/KJhe9wnWGMmGoNKJNU3EkW3jM/osSl
26
+ +JRxiH5t4WtnDiVyoYl5nYC02rYdjJkG6VMxDymXTqn7u6HhYgZkGujq1UPar8x2
27
+ hNIWJblDKKSu7hA2d6+kUthuYo13o1sg1Da/AEDg0hoZSUvhqDEF5Hy232qb3pDt
28
+ CxDe2+VuChj4I1nvIHdu+E6XoEVlanUPKmSg6nddhkKn2gC45Kyzh6FZqnzH/CRp
29
+ RFE=
30
30
  -----END CERTIFICATE-----
31
- date: 2022-03-04 00:00:00.000000000 Z
31
+ date: 2022-04-09 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
- name: dry-container
34
+ name: auto_injector
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.8'
39
+ version: '0.4'
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.8'
46
+ version: '0.4'
47
47
  - !ruby/object:Gem::Dependency
48
- name: http
48
+ name: cogger
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - "~>"
52
52
  - !ruby/object:Gem::Version
53
- version: '5.0'
53
+ version: '0.0'
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: '5.0'
60
+ version: '0.0'
61
61
  - !ruby/object:Gem::Dependency
62
- name: pastel
62
+ name: dry-container
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
@@ -72,6 +72,20 @@ dependencies:
72
72
  - - "~>"
73
73
  - !ruby/object:Gem::Version
74
74
  version: '0.8'
75
+ - !ruby/object:Gem::Dependency
76
+ name: http
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '5.0'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '5.0'
75
89
  - !ruby/object:Gem::Dependency
76
90
  name: rack
77
91
  requirement: !ruby/object:Gem::Requirement
@@ -157,9 +171,11 @@ files:
157
171
  - exe/pennyworth
158
172
  - lib/pennyworth.rb
159
173
  - lib/pennyworth/cli/actions/config.rb
174
+ - lib/pennyworth/cli/actions/container.rb
160
175
  - lib/pennyworth/cli/actions/encodings.rb
161
176
  - lib/pennyworth/cli/actions/git_hub.rb
162
177
  - lib/pennyworth/cli/actions/http_statuses.rb
178
+ - lib/pennyworth/cli/actions/import.rb
163
179
  - lib/pennyworth/cli/actions/ruby_gems.rb
164
180
  - lib/pennyworth/cli/actions/system/errors.rb
165
181
  - lib/pennyworth/cli/actions/system/signals.rb
@@ -173,6 +189,7 @@ files:
173
189
  - lib/pennyworth/configuration/defaults.yml
174
190
  - lib/pennyworth/configuration/loader.rb
175
191
  - lib/pennyworth/container.rb
192
+ - lib/pennyworth/import.rb
176
193
  - lib/pennyworth/inflector.rb
177
194
  - lib/pennyworth/integrations/git_hub/client.rb
178
195
  - lib/pennyworth/integrations/git_hub/response.rb
@@ -228,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
228
245
  - !ruby/object:Gem::Version
229
246
  version: '0'
230
247
  requirements: []
231
- rubygems_version: 3.3.8
248
+ rubygems_version: 3.3.11
232
249
  signing_key:
233
250
  specification_version: 4
234
251
  summary: A command line interface that augments Alfred workflows.
metadata.gz.sig CHANGED
@@ -1,3 +1 @@
1
- ��sQ.\h����C|f
2
- (�%M`
3
- ��FX0e2`�����jp����9�S�=�Ǟ���8�]\u��c�t]0V l;B�v��@8U
1
+ +qK:~��/�֏��^����� p���N ��R��ie�k4:����f�W'lw