frozen_core 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 81fc00dcfa44ad2f40700aa44a3b5ba638ae0444
4
+ data.tar.gz: fbfd18fa0991ee30f668ba1c148fba8141037959
5
+ SHA512:
6
+ metadata.gz: caa040075abd709081756ef9dfd8a5ca2245b288b4130c3fb7eadca5df6b413f9985cad02be4850eeeb53465688c45a9b209b5fbc82aace091f7752f48eb2b81
7
+ data.tar.gz: 55421be11b183e90d527d329afd8a6cf7f78f3f2d340af6fb51a4f9dff31e4fef254e03e09b115433ec6af3d02756cd5dcd4661561759c8ceb8ea824b6c166f5
data/README.md ADDED
@@ -0,0 +1,9 @@
1
+ # frozen_core
2
+
3
+ Exposes the internal `RubyVM::FrozenCore` class.
4
+
5
+ Only use this gem if you know what you're doing.
6
+
7
+ ### License
8
+
9
+ MIT
data/Rakefile ADDED
@@ -0,0 +1,7 @@
1
+ require "rake/testtask"
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.test_files = FileList["test/test_*.rb"]
5
+ end
6
+
7
+ task :default => :test
@@ -0,0 +1,11 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = "frozen_core"
3
+ s.version = "1.0.0"
4
+ s.author = "Charlie Somerville"
5
+ s.email = "charlie@charliesomerville.com"
6
+ s.summary = "Exposes RubyVM::FrozenCore"
7
+ s.description = "Exposes the internal RubyVM::FrozenCore class"
8
+ s.license = "MIT"
9
+ s.homepage = "https://github.com/charliesome/frozen_core"
10
+ s.files = `git ls-files`.lines.map(&:chomp)
11
+ end
@@ -0,0 +1,5 @@
1
+ RubyVM::FrozenCore = (-1024..1024)
2
+ .map { |offset| RubyVM.object_id + offset }
3
+ .map { |ptr| ObjectSpace._id2ref(ptr) rescue nil }
4
+ .grep(Class)
5
+ .find { |k| k.method_defined?(:"core#define_method") }
@@ -0,0 +1,12 @@
1
+ require "minitest/autorun"
2
+ require "frozen_core"
3
+
4
+ class TestFrozenCore < MiniTest::Unit::TestCase
5
+ def test_exposes_frozen_core
6
+ assert defined?(RubyVM::FrozenCore)
7
+ end
8
+
9
+ def test_frozen_core_has_internal_methods
10
+ assert RubyVM::FrozenCore.method_defined?(:"core#define_method")
11
+ end
12
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: frozen_core
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Charlie Somerville
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-10 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Exposes the internal RubyVM::FrozenCore class
14
+ email: charlie@charliesomerville.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - README.md
20
+ - Rakefile
21
+ - frozen_core.gemspec
22
+ - lib/frozen_core.rb
23
+ - test/test_frozen_core.rb
24
+ homepage: https://github.com/charliesome/frozen_core
25
+ licenses:
26
+ - MIT
27
+ metadata: {}
28
+ post_install_message:
29
+ rdoc_options: []
30
+ require_paths:
31
+ - lib
32
+ required_ruby_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ required_rubygems_version: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - '>='
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ requirements: []
43
+ rubyforge_project:
44
+ rubygems_version: 2.0.3
45
+ signing_key:
46
+ specification_version: 4
47
+ summary: Exposes RubyVM::FrozenCore
48
+ test_files: []
49
+ has_rdoc: