injectable 1.0.3 → 2.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: 04b4fa162c74c70cbc489edf8d21f057b0648aeb9c063d68a1bbcb03976c709a
4
- data.tar.gz: de1b5a3159b3e3840943e67509f444b2fd1e110dcac63e0b2512e9eea505a759
3
+ metadata.gz: ad55a081cf55cb0ac1b598f7c5e9f3d27a530d50c93aa5fb821e2853e04e4dbe
4
+ data.tar.gz: 8a77311a081306465154300e3b71d365d11a150c366c0a2a2adcfbdc502e3899
5
5
  SHA512:
6
- metadata.gz: 2862f82e8a06a783f9288bda1ee98191c097610a38b3de05983c9dc4efebf855bf09ebd4b07b933ac32089a31b17829789cdb15533d6e7e3b78c548ebfaefb9b
7
- data.tar.gz: 0dd82f69a743f11aafef03d205b5b489e8e5e9742c76976802abbd8694c0fefa93cdfe1df51c8ec966350db8e753fcaff2d1c11efb3dae83cab95ac242dd61c1
6
+ metadata.gz: a87eb30d9e20e518de416f6e8a78975f126f486129b5cbb735fe62bf040b9dd495986c997ffbf9088a57cf70203636f0c2f5121a5cd12cc3937424374efdc0c9
7
+ data.tar.gz: 62372a7b1a8b6553e18c0b3d93ab51d9366019510cf2dc8f94ae1f946311ac385beac386c2896da3693cf9d963fc7bb8647cd3131f68f07fadcf2b23e2a4df56
@@ -1,10 +1,19 @@
1
1
  ### Unreleased
2
2
 
3
+ ### 2.0.0 - 2020-03-16
4
+
5
+ * breaking changes
6
+ * Raises exception if shadowing an existing `#call` method in a dependency (#15)
7
+
3
8
  ### 1.0.3 - 2020-03-16
4
9
 
5
- * Fixed a bug that wouldn't pass a block if `#call` was aliased (#7)
6
- * Added GitHub Actions as CI (#9)
10
+ * enhancements
11
+ * Added GitHub Actions as CI (#9)
12
+
13
+ * bug fixes
14
+ * Fixed a bug that wouldn't pass a block if `#call` was aliased (#7)
7
15
 
8
16
  ### 1.0.2 - 2020-03-02
9
17
 
10
- * Bump `rake` to 12.3.3 (#11)
18
+ * security
19
+ * Bump `rake` to 12.3.3 (#11)
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- injectable (1.0.3)
4
+ injectable (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -5,6 +5,7 @@ require 'injectable/dependencies_proxy'
5
5
  require 'injectable/dependency'
6
6
  require 'injectable/instance_methods'
7
7
  require 'injectable/missing_dependencies_exception'
8
+ require 'injectable/method_already_exists_exception'
8
9
 
9
10
  # Convert your class into an injectable service
10
11
  #
@@ -16,6 +16,10 @@ module Injectable
16
16
  def wrap_call(the_instance)
17
17
  return the_instance unless call
18
18
 
19
+ if the_instance.respond_to? :call
20
+ raise Injectable::MethodAlreadyExistsException
21
+ end
22
+
19
23
  the_instance.tap do |instance|
20
24
  call_method = call
21
25
 
@@ -0,0 +1,4 @@
1
+ module Injectable
2
+ class MethodAlreadyExistsException < RuntimeError
3
+ end
4
+ end
@@ -1,3 +1,3 @@
1
1
  module Injectable
2
- VERSION = '1.0.3'.freeze
2
+ VERSION = '2.0.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: injectable
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Papipo
@@ -99,6 +99,7 @@ files:
99
99
  - lib/injectable/dependencies_proxy.rb
100
100
  - lib/injectable/dependency.rb
101
101
  - lib/injectable/instance_methods.rb
102
+ - lib/injectable/method_already_exists_exception.rb
102
103
  - lib/injectable/missing_dependencies_exception.rb
103
104
  - lib/injectable/version.rb
104
105
  homepage: https://github.com/rubiconmd/injectable