type_wrapper 1.0.0 → 1.1.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/type_wrapper/version.rb +1 -1
- data/lib/type_wrapper.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1b0ccfe16ab90f4f07518274c6845ac0055fe7da
|
4
|
+
data.tar.gz: 727a2f9f2f1bd9780fdc8669cd0db03c16ff5f4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0a6bc7d172fe270878473fed419bcc73a39c8a0dece6428f09c727ce7b93afd4c895344f44dde317a0e50fbdeb0a2315d0a5c92ad1920c15357229437bbfcd7
|
7
|
+
data.tar.gz: d4fe98670eab3f07a487c49d16f079f3b1e522581c7890e551dd138e274d5634a08838cd8beb31ad662019c7bf0b9c98c6eda8ebfacf5ba1a0a99e4a528f7ff7
|
data/README.md
CHANGED
data/lib/type_wrapper/version.rb
CHANGED
data/lib/type_wrapper.rb
CHANGED
@@ -23,10 +23,10 @@ module TypeWrapper
|
|
23
23
|
include TypeWrapper
|
24
24
|
const_set :Type, type
|
25
25
|
const_set :BEHAVIORS, behaviors
|
26
|
+
const_set :Trait, Module.new { refine(type) { prepend(*behaviors.reverse) } }
|
26
27
|
forwarding = behaviors.flat_map(&:public_instance_methods) - public_instance_methods
|
27
28
|
code = forwarding.uniq.map { |meth| "def %{meth}(*args, &block) __getobj__.%{meth}(*args, &block) end" % { meth: meth } }
|
28
|
-
code.unshift
|
29
|
-
class_eval code.join('; ')
|
29
|
+
class_eval code.unshift("using Trait").join("\n")
|
30
30
|
end
|
31
31
|
end
|
32
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: type_wrapper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ritchie Paul Buitre
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|