dry-auto_inject 0.9.0 → 1.0.1

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: fbf423b57383e30d33060a0d0566ca2c9d9c451289f38132974325e5d7cdc2b8
4
- data.tar.gz: a35a4d23402b9b5a1b47de1c953c0e089e646334c1ffffcaa4c320539d8eeecd
3
+ metadata.gz: e8579a2c57e7e2ea5d76b60e853963cf3709da8148a1a1ae6ee6d46ab53f9310
4
+ data.tar.gz: 0bc45df84ea3536e220d74d193047852f12140edad060f21bf933783300d8e31
5
5
  SHA512:
6
- metadata.gz: 561d57d6c0aae98c94a6c6121dcd47601178fe37ce3c6077d87f28b85f4da7113112a66efba4c091f50dcbc1983212d2212abacf175845a212064cdbe340a389
7
- data.tar.gz: 942e8def2974a6d131180ab66e1895ff2104ba960372513edea233598bb65ca52c612f359fcd33a43f698593aad288aa9012b75e29072c8d35e0a3af0bde87ae
6
+ metadata.gz: cd8ef6effb12ede3fe3d185dcf2949148571dcd124cbae25ae203f7ae31288f538c1b58f6f93cfad68930d25306e8af935d37452ff946c99a2dfcfe192a8b311
7
+ data.tar.gz: 163dbc62d91b9e27e079339636b52cca8e552c088fe872e609e88a7e9d19a9c313eedf78342c74e374197973cff69780f708609dd9e49248bc4763e457a48918
data/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  <!--- DO NOT EDIT THIS FILE - IT'S AUTOMATICALLY GENERATED VIA DEVTOOLS --->
2
2
 
3
+ ## 1.0.1 2023-02-13
4
+
5
+
6
+ ### Fixed
7
+
8
+ - Update passthrough parameters list to support ruby 3.2.1 (@hieuk09 in [#88](https://github.com/dry-rb/dry-auto_inject/pull/88))
9
+
10
+
11
+ [Compare v1.0.0...v1.0.1](https://github.com/dry-rb/dry-auto_inject/compare/v1.0.0...v1.0.1)
12
+
13
+ ## 1.0.0 2022-11-18
14
+
15
+
16
+ ### Changed
17
+
18
+ - This version is compatible with recently released dry-rb dependencies (@flash-gordon)
19
+ - This version uses zeitwerk for autoloading (@flash-gordon)
20
+
21
+ [Compare v0.9.0...v1.0.0](https://github.com/dry-rb/dry-auto_inject/compare/v0.9.0...v1.0.0)
22
+
3
23
  ## 0.9.0 2022-01-26
4
24
 
5
25
 
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015-2021 dry-rb team
3
+ Copyright (c) 2015-2023 dry-rb team
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy of
6
6
  this software and associated documentation files (the "Software"), to deal in
data/README.md CHANGED
@@ -1,29 +1,21 @@
1
1
  <!--- this file is synced from dry-rb/template-gem project -->
2
2
  [gem]: https://rubygems.org/gems/dry-auto_inject
3
3
  [actions]: https://github.com/dry-rb/dry-auto_inject/actions
4
- [codacy]: https://www.codacy.com/gh/dry-rb/dry-auto_inject
5
- [chat]: https://dry-rb.zulipchat.com
6
- [inchpages]: http://inch-ci.org/github/dry-rb/dry-auto_inject
7
4
 
8
- # dry-auto_inject [![Join the chat at https://dry-rb.zulipchat.com](https://img.shields.io/badge/dry--rb-join%20chat-%23346b7a.svg)][chat]
9
-
10
- [![Gem Version](https://badge.fury.io/rb/dry-auto_inject.svg)][gem]
11
- [![CI Status](https://github.com/dry-rb/dry-auto_inject/workflows/ci/badge.svg)][actions]
12
- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d869ec8dc92e46b6a6eafa551f68c3f4)][codacy]
13
- [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/d869ec8dc92e46b6a6eafa551f68c3f4)][codacy]
14
- [![Inline docs](http://inch-ci.org/github/dry-rb/dry-auto_inject.svg?branch=master)][inchpages]
5
+ # dry-auto_inject [![Gem Version](https://badge.fury.io/rb/dry-auto_inject.svg)][gem] [![CI Status](https://github.com/dry-rb/dry-auto_inject/workflows/ci/badge.svg)][actions]
15
6
 
16
7
  ## Links
17
8
 
18
9
  * [User documentation](https://dry-rb.org/gems/dry-auto_inject)
19
10
  * [API documentation](http://rubydoc.info/gems/dry-auto_inject)
11
+ * [Forum](https://discourse.dry-rb.org)
20
12
 
21
13
  ## Supported Ruby versions
22
14
 
23
15
  This library officially supports the following Ruby versions:
24
16
 
25
17
  * MRI `>= 2.7.0`
26
- * jruby `>= 9.3` (postponed until 2.7 is supported)
18
+ * jruby `>= 9.4` (not tested on CI)
27
19
 
28
20
  ## License
29
21
 
@@ -22,14 +22,15 @@ Gem::Specification.new do |spec|
22
22
  spec.require_paths = ["lib"]
23
23
 
24
24
  spec.metadata["allowed_push_host"] = "https://rubygems.org"
25
- spec.metadata["changelog_uri"] = "https://github.com/dry-rb/dry-auto_inject/blob/master/CHANGELOG.md"
25
+ spec.metadata["changelog_uri"] = "https://github.com/dry-rb/dry-auto_inject/blob/main/CHANGELOG.md"
26
26
  spec.metadata["source_code_uri"] = "https://github.com/dry-rb/dry-auto_inject"
27
27
  spec.metadata["bug_tracker_uri"] = "https://github.com/dry-rb/dry-auto_inject/issues"
28
28
 
29
29
  spec.required_ruby_version = ">= 2.7.0"
30
30
 
31
31
  # to update dependencies edit project.yml
32
- spec.add_runtime_dependency "dry-container", ">= 0.3.4"
32
+ spec.add_runtime_dependency "dry-core", "~> 1.0"
33
+ spec.add_runtime_dependency "zeitwerk", "~> 2.6"
33
34
 
34
35
  spec.add_development_dependency "bundler"
35
36
  spec.add_development_dependency "rake"
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/strategies"
4
- require "dry/auto_inject/injector"
5
-
6
3
  module Dry
7
4
  module AutoInject
8
5
  class Builder
@@ -6,7 +6,12 @@ module Dry
6
6
  module AutoInject
7
7
  # @api private
8
8
  class MethodParameters
9
- PASS_THROUGH = [[%i[rest]], [%i[rest], %i[keyrest]]].freeze
9
+ PASS_THROUGH = [
10
+ [%i[rest]],
11
+ [%i[rest], %i[keyrest]],
12
+ [%i[rest *]],
13
+ [%i[rest *], %i[keyrest **]]
14
+ ].freeze
10
15
 
11
16
  def self.of(obj, name)
12
17
  Enumerator.new do |y|
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/strategies/constructor"
4
- require "dry/auto_inject/method_parameters"
5
-
6
3
  module Dry
7
4
  module AutoInject
8
5
  class Strategies
@@ -68,8 +65,6 @@ module Dry
68
65
  RUBY
69
66
  end
70
67
  end
71
-
72
- register :args, Args
73
68
  end
74
69
  end
75
70
  end
@@ -1,13 +1,11 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/dependency_map"
4
-
5
3
  module Dry
6
4
  module AutoInject
7
5
  class Strategies
8
- class Constructor < Module
9
- ClassMethods = Class.new(Module)
10
- InstanceMethods = Class.new(Module)
6
+ class Constructor < ::Module
7
+ ClassMethods = ::Class.new(::Module)
8
+ InstanceMethods = ::Class.new(::Module)
11
9
 
12
10
  attr_reader :container
13
11
  attr_reader :dependency_map
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/strategies/constructor"
4
- require "dry/auto_inject/method_parameters"
5
-
6
3
  module Dry
7
4
  module AutoInject
8
5
  class Strategies
@@ -44,8 +41,6 @@ module Dry
44
41
  RUBY
45
42
  end
46
43
  end
47
-
48
- register :hash, Hash
49
44
  end
50
45
  end
51
46
  end
@@ -1,8 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/strategies/constructor"
4
- require "dry/auto_inject/method_parameters"
5
-
6
3
  module Dry
7
4
  module AutoInject
8
5
  class Strategies
@@ -99,8 +96,6 @@ module Dry
99
96
  end
100
97
  end
101
98
  end
102
-
103
- register_default :kwargs, Kwargs
104
99
  end
105
100
  end
106
101
  end
@@ -1,21 +1,19 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry-container"
4
-
5
3
  module Dry
6
4
  module AutoInject
7
5
  class Strategies
8
- extend Dry::Container::Mixin
6
+ extend Core::Container::Mixin
9
7
 
10
8
  # @api public
11
9
  def self.register_default(name, strategy)
12
10
  register name, strategy
13
11
  register :default, strategy
14
12
  end
13
+
14
+ register :args, proc { Args }
15
+ register :hash, proc { Strategies::Hash }
16
+ register_default :kwargs, proc { Kwargs }
15
17
  end
16
18
  end
17
19
  end
18
-
19
- require "dry/auto_inject/strategies/args"
20
- require "dry/auto_inject/strategies/hash"
21
- require "dry/auto_inject/strategies/kwargs"
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Dry
4
4
  module AutoInject
5
- VERSION = "0.9.0"
5
+ VERSION = "1.0.1"
6
6
  end
7
7
  end
@@ -1,14 +1,32 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "dry/auto_inject/builder"
3
+ require "zeitwerk"
4
+ require "dry/core"
4
5
 
5
6
  module Dry
7
+ module AutoInject
8
+ def self.loader
9
+ @loader ||= Zeitwerk::Loader.new.tap do |loader|
10
+ root = File.expand_path("..", __dir__)
11
+ loader.tag = "dry-auto_inject"
12
+ loader.inflector = Zeitwerk::GemInflector.new("#{root}/dry-auto_inject.rb")
13
+ loader.push_dir(root)
14
+ loader.ignore(
15
+ "#{root}/dry-auto_inject.rb",
16
+ "#{root}/dry/auto_inject/version.rb"
17
+ )
18
+ end
19
+ end
20
+
21
+ loader.setup
22
+ end
23
+
6
24
  # Configure an auto-injection module
7
25
  #
8
26
  # @example
9
27
  # module MyApp
10
28
  # # set up your container
11
- # container = Dry::Container.new
29
+ # container = Dry::Core::Container.new
12
30
  #
13
31
  # container.register(:data_store, -> { DataStore.new })
14
32
  # container.register(:user_repository, -> { container[:data_store][:users] })
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dry-auto_inject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Solnica
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-26 00:00:00.000000000 Z
11
+ date: 2023-02-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: dry-container
14
+ name: dry-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.4
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: zeitwerk
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.6'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
25
39
  - !ruby/object:Gem::Version
26
- version: 0.3.4
40
+ version: '2.6'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +108,7 @@ licenses:
94
108
  - MIT
95
109
  metadata:
96
110
  allowed_push_host: https://rubygems.org
97
- changelog_uri: https://github.com/dry-rb/dry-auto_inject/blob/master/CHANGELOG.md
111
+ changelog_uri: https://github.com/dry-rb/dry-auto_inject/blob/main/CHANGELOG.md
98
112
  source_code_uri: https://github.com/dry-rb/dry-auto_inject
99
113
  bug_tracker_uri: https://github.com/dry-rb/dry-auto_inject/issues
100
114
  post_install_message:
@@ -112,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
126
  - !ruby/object:Gem::Version
113
127
  version: '0'
114
128
  requirements: []
115
- rubygems_version: 3.1.6
129
+ rubygems_version: 3.3.26
116
130
  signing_key:
117
131
  specification_version: 4
118
132
  summary: Container-agnostic automatic constructor injection