wrapper_based 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +2 -0
- data/lib/wrapper_based.rb +6 -2
- data/lib/wrapper_based/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3884a927dc98c62e687795e8c27adab6da2cbd4d
|
4
|
+
data.tar.gz: 7f2e1cc4a16a2dcd87dad76824e16def53960f4c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e83ede5eaf7bbedc6934315fa6174356bcf86e3812016c58aef1f4963a6b03b7025af2aa9414cc0208c6297b15c9e580ebab72c83acfb7a408adf5eb1dbd0b1
|
7
|
+
data.tar.gz: 4fa65380623ebbad5fd2b90e468a92afeab6581e692ff272345c99e70e15091ecd5e41f0280953493e8f445e61e71965a118b499ac4e564031760216f36c3ecc
|
data/README.md
CHANGED
data/lib/wrapper_based.rb
CHANGED
@@ -9,8 +9,12 @@ module WrapperBased
|
|
9
9
|
Class.new(Decorator) do
|
10
10
|
using Module.new { refine(type) { prepend(*behaviors.reverse) } }
|
11
11
|
|
12
|
-
|
13
|
-
|
12
|
+
forwarding = behaviors.flat_map(&:public_instance_methods) - public_instance_methods
|
13
|
+
|
14
|
+
forwarding.uniq.each do |meth|
|
15
|
+
define_method(meth) do |*args, &block|
|
16
|
+
__getobj__.send(meth, *args, &block)
|
17
|
+
end
|
14
18
|
end
|
15
19
|
end
|
16
20
|
end
|