pluggability 0.8.0 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|