injectable 1.0.3 → 2.0.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: 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