dry-auto_inject 0.9.0 → 1.0.1

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: 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