frozen_core 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/frozen_core.gemspec +1 -1
- data/lib/frozen_core.rb +14 -0
- data/test/test_frozen_core.rb +4 -0
- 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: 78cab89ad5beadf87eee2c8320ca285bb512998c
|
4
|
+
data.tar.gz: b32a27a9d7734b89543cd859023c93603882dee1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 255b578ebcb2b3f21dd2c6432dd15d30abd0d89c050e932f176c8f2bdd20f4783c43c318bcb1a171b9f5a8875ea841fabbb87176caaf0be1eaa2452a9af62ec9
|
7
|
+
data.tar.gz: 2892927f51831d17d14119033833f460390a33e406d6becc233c345ff3e59c2a4313dd1e6659824dfa15c137471cd8fa2a2d7536547f39ec60b05832630f164f
|
data/frozen_core.gemspec
CHANGED
data/lib/frozen_core.rb
CHANGED
@@ -3,3 +3,17 @@ RubyVM::FrozenCore = (-1024..1024)
|
|
3
3
|
.map { |ptr| ObjectSpace._id2ref(ptr) rescue nil }
|
4
4
|
.grep(Class)
|
5
5
|
.find { |k| k.method_defined?(:"core#define_method") }
|
6
|
+
|
7
|
+
class RubyVM::FrozenCore
|
8
|
+
set_postexe = instance_method(:"core#set_postexe")
|
9
|
+
|
10
|
+
define_method(:"core#set_postexe") { |*| self }
|
11
|
+
|
12
|
+
class << self
|
13
|
+
attr_reader :instance
|
14
|
+
end
|
15
|
+
|
16
|
+
@instance = (END {})
|
17
|
+
|
18
|
+
define_method(:"core#set_postexe", set_postexe)
|
19
|
+
end
|
data/test/test_frozen_core.rb
CHANGED
@@ -9,4 +9,8 @@ class TestFrozenCore < MiniTest::Unit::TestCase
|
|
9
9
|
def test_frozen_core_has_internal_methods
|
10
10
|
assert RubyVM::FrozenCore.method_defined?(:"core#define_method")
|
11
11
|
end
|
12
|
+
|
13
|
+
def test_frozen_core_instance
|
14
|
+
assert RubyVM::FrozenCore.instance.respond_to?(:"core#define_method")
|
15
|
+
end
|
12
16
|
end
|