pluggability 0.8.0 → 0.9.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.md +8 -0
- data/lib/pluggability.rb +3 -3
- data/spec/pluggability_spec.rb +12 -0
- data.tar.gz.sig +0 -0
- metadata +15 -15
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 843f2f58748eaeb19465a3e12811c495c218b84bfd0561dd7266b1aa039c2088
|
4
|
+
data.tar.gz: 376ce248e38a0547faaff01bfc033baf099e3cc33431387f56c2f5f789e896cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 26b4d2466c36294eb1d336c88ff1a61b6c73283626d21766d3929b9ce86babc8144889c7f27adf2fd6b44b5177c2988b4c7f4b60ce9b66e9ad8825d2dc40f6c6
|
7
|
+
data.tar.gz: d99e802e78109839a9e8df5ff75d9493323a4fb72328f62c63d841cdf5199d73ba3aac0bd46f161db1c83cb7f70ef4c74c28485b7ecb9ff97c9bc2d83d9ba96d
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.md
CHANGED
data/lib/pluggability.rb
CHANGED
@@ -12,7 +12,7 @@ module Pluggability
|
|
12
12
|
|
13
13
|
|
14
14
|
# Library version
|
15
|
-
VERSION = '0.
|
15
|
+
VERSION = '0.9.0'
|
16
16
|
|
17
17
|
|
18
18
|
# An exception class for Pluggability specific errors.
|
@@ -202,11 +202,11 @@ module Pluggability
|
|
202
202
|
### obj = Listener.create( 'FooListener' )
|
203
203
|
### obj = Listener.create( FooListener )
|
204
204
|
### obj = Listener.create( 'Foo' )
|
205
|
-
def create( class_name, *args, &block )
|
205
|
+
def create( class_name, *args, **keyword_args, &block )
|
206
206
|
subclass = get_subclass( class_name )
|
207
207
|
|
208
208
|
begin
|
209
|
-
return subclass.new( *args, &block )
|
209
|
+
return subclass.new( *args, **keyword_args, &block )
|
210
210
|
rescue => err
|
211
211
|
nicetrace = err.backtrace.reject {|frame| /#{__FILE__}/ =~ frame}
|
212
212
|
msg = "When creating '#{class_name}': " + err.message
|
data/spec/pluggability_spec.rb
CHANGED
@@ -21,6 +21,12 @@ class Carbon14Robot < Plugin; end
|
|
21
21
|
module Test
|
22
22
|
class LoadablePlugin < Plugin; end
|
23
23
|
end
|
24
|
+
class KeywordTest < Plugin
|
25
|
+
def initialize( **kwargs)
|
26
|
+
@kwargs = kwargs
|
27
|
+
end
|
28
|
+
attr_reader :kwargs
|
29
|
+
end
|
24
30
|
|
25
31
|
class SubSubPlugin < SubPlugin; end
|
26
32
|
|
@@ -212,6 +218,12 @@ describe Pluggability do
|
|
212
218
|
Plugin.load_all
|
213
219
|
end
|
214
220
|
|
221
|
+
|
222
|
+
it "passes keyword arguments when creating derivatives" do
|
223
|
+
result = Plugin.create( KeywordTest, foo: :bar, baz: 2 )
|
224
|
+
expect( result.kwargs ).to eq({ foo: :bar, baz: 2 })
|
225
|
+
end
|
226
|
+
|
215
227
|
end
|
216
228
|
|
217
229
|
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pluggability
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Granger
|
@@ -11,9 +11,9 @@ bindir: bin
|
|
11
11
|
cert_chain:
|
12
12
|
- |
|
13
13
|
-----BEGIN CERTIFICATE-----
|
14
|
-
MIID+
|
15
|
-
|
16
|
-
|
14
|
+
MIID+DCCAmCgAwIBAgIBBTANBgkqhkiG9w0BAQsFADAiMSAwHgYDVQQDDBdnZWQv
|
15
|
+
REM9RmFlcmllTVVEL0RDPW9yZzAeFw0yMzAxMTYxNzE2MDlaFw0yNDAxMTYxNzE2
|
16
|
+
MDlaMCIxIDAeBgNVBAMMF2dlZC9EQz1GYWVyaWVNVUQvREM9b3JnMIIBojANBgkq
|
17
17
|
hkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAvyVhkRzvlEs0fe7145BYLfN6njX9ih5H
|
18
18
|
L60U0p0euIurpv84op9CNKF9tx+1WKwyQvQP7qFGuZxkSUuWcP/sFhDXL1lWUuIl
|
19
19
|
M4uHbGCRmOshDrF4dgnBeOvkHr1fIhPlJm5FO+Vew8tSQmlDsosxLUx+VB7DrVFO
|
@@ -24,17 +24,17 @@ cert_chain:
|
|
24
24
|
ozilJg4aar2okb/RA6VS87o+d7g6LpDDMMQjH4G9OPnJENLdhu8KnPw/ivSVvQw7
|
25
25
|
N2I4L/ZOIe2DIVuYH7aLHfjZDQv/mNgpAgMBAAGjOTA3MAkGA1UdEwQCMAAwCwYD
|
26
26
|
VR0PBAQDAgSwMB0GA1UdDgQWBBRyjf55EbrHagiRLqt5YAd3yb8k4DANBgkqhkiG
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
9w0BAQsFAAOCAYEARYCeUVBWARNKqF0cvNnLJvFf4hdW2+Rtc7NfC5jQvX9a1oom
|
28
|
+
sfVvS96eER/9cbrphu+vc59EELw4zT+RY3/IesnoE7CaX6zIOFmSmG7K61OHsSLR
|
29
|
+
KqMygcWwyuPXT2JG7JsGHuxbzgaRWe29HbSjBbLYxiMH8Zxh4tKutxzKF7jb0Ggq
|
30
|
+
KAf9MH5LwG8IHVIfV5drT14PvgR3tcvmrn1timPyJl+eZ3LNnm9ofOCweuZCq1cy
|
31
|
+
4Q8LV3vP2Cofy9q+az3DHdaUGlmMiZZZqKixDr1KSS9nvh0ZrKMOUL1sWj/IaxrQ
|
32
|
+
RV3y6td14q49t+xnbj00hPlbW7uE2nLJLt2NAoXiE1Nonndz1seB2c6HL79W9fps
|
33
|
+
E/O12pQjCp/aPUZMt8/8tKW31RIy/KP8XO6OTJNWA8A/oNEI0g5p/LmmEtJKWYr1
|
34
|
+
WmEdESlpWhzFECctefIF2lsN9vaOuof57RM77t2otrtcscDtNarIqjZsIyqtDvtL
|
35
|
+
DttITiit0Vwz7bY0
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
37
|
+
date: 2023-06-08 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: loggability
|
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0'
|
117
117
|
requirements: []
|
118
|
-
rubygems_version: 3.3.
|
118
|
+
rubygems_version: 3.3.26
|
119
119
|
signing_key:
|
120
120
|
specification_version: 4
|
121
121
|
summary: Pluggability is a toolkit for creating plugins.
|
metadata.gz.sig
CHANGED
Binary file
|