frozen_core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: