rb_import 0.1.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: cae0ed3b02e393c26df865553f46dbfdddd6640b
4
+ data.tar.gz: 493283748bf250d7464bc4f85a098d45e16217e0
5
+ SHA512:
6
+ metadata.gz: e1cbb347253ea12991453dd64f0b61526ff1b3e7c143214b5949639a5688cb9de60b5617376bd394f157ab2be6084e3a910a340472a6b96134c5cbe7483ac570
7
+ data.tar.gz: 6b8130e2ac1636a1c1c92b4f3c7fcd2e5db8cab65c302eb998c1f594861e3678c94c5a9ee89e2d11b368a5a6c0880e675a78fe3d2fd7e53fe68412b674a8cac6
checksums.yaml.gz.sig ADDED
@@ -0,0 +1 @@
1
+ ����v�aZ�[���' ��I5��oR��+#���;�J��s��I���r�T��WRkP�/ :��Eۘ)��+d���JKP{��fH�9e}��m×�q�����r�`�' '��"-��:������2;C�J\ ��F��r�hN�&����և����Wu�T�5yj��_]' 4?�5��%c�?�Y)���'5�.���T���8�'o��ZV���:��˩.?��M�ʢ�zt�����E��Z��&1�+�`��8
data/.gitignore ADDED
@@ -0,0 +1,6 @@
1
+ *.swp
2
+ *.gem
3
+ *.rbc
4
+ Gemfile.lock
5
+ *.bundle
6
+ tmp
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - ruby-head
4
+ script: rake clean compile test
data/CHANGELOG.md ADDED
@@ -0,0 +1,3 @@
1
+ # Unreleased (0.1.0)
2
+
3
+ * Initial release
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2014 Franck Verrot <franck@verrot.fr>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,86 @@
1
+ # rb_import [![Build Status](https://travis-ci.org/franckverrot/rb_import.svg?branch=master)](https://travis-ci.org/franckverrot/rb_import)
2
+
3
+ `rb_import` adds an `import` method to your Ruby VM that lets you
4
+ load a file that exposes a Ruby object. As long as the imported file
5
+ doesn't pollute the VM's constants table (ie: defines a constant),
6
+ the caller won't see any unwanted objects.
7
+
8
+ ## RATIONALE
9
+
10
+ `require`-ing/`load`-ing a file in Ruby works by assigning constructs
11
+ (classes, modules, functions, etc.) to constants, so that they could be
12
+ reused in other parts of your app.
13
+
14
+ The problem is: a library that you don't own can use any name for any
15
+ of its construct that could potentially collide with your own app's
16
+ construct names. Naming is hard and, namespacing with modules doesn't
17
+ even work (colliding module names, crazy meta-programming, etc.).
18
+
19
+ With `rb_import`, simply return a Ruby object from your files and
20
+ `import` them only in classes that will need those objects.
21
+
22
+
23
+ ## HOW TO VERIFY THE AUTHENTICITY OF THIS GEM
24
+
25
+ `rb_import` is cryptographically signed. Please make sure the gem you install hasn’t been tampered with.
26
+
27
+ Add my public key (if you haven’t already) as a trusted certificate:
28
+
29
+ gem cert --add <(curl -Ls https://raw.githubusercontent.com/franckverrot/rb_import/master/certs/franckverrot.pem)
30
+
31
+ gem install rb_import -P MediumSecurity
32
+
33
+ The MediumSecurity trust profile will verify signed gems, but allow the installation of unsigned dependencies.
34
+
35
+ This is necessary because not all of `rb_import`’ dependencies are necessarily signed, so we cannot use HighSecurity.
36
+
37
+ ## INSTALLATION
38
+
39
+ Add this line to your application's Gemfile:
40
+
41
+ gem 'rb_import'
42
+
43
+ And then execute:
44
+
45
+ $ bundle
46
+
47
+ Or install it yourself as:
48
+
49
+ $ gem install rb_import
50
+
51
+ Alternatively, you can spawn a `pry` console right away by just running:
52
+
53
+ $ rake console
54
+
55
+ ## USAGE
56
+
57
+ ```ruby
58
+ # foo.rb
59
+ Class.new do
60
+ def bar
61
+ "bar"
62
+ end
63
+ end
64
+
65
+ # bar.rb
66
+ foo = import './foo.rb'
67
+ puts foo.new.bar # => outputs "bar"
68
+ ```
69
+
70
+ See files in the `test` directory for examples.
71
+
72
+ ## Is it any good?
73
+
74
+ [Yes](http://news.ycombinator.com/item?id=3067434).
75
+
76
+ ## Is It "Production Ready™"?
77
+
78
+ Yes. I guess.
79
+
80
+ ## Contributing
81
+
82
+ 1. Fork it ( https://github.com/franckverrot/rb_import/fork )
83
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
84
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
85
+ 4. Push to the branch (`git push origin my-new-feature`)
86
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,90 @@
1
+ require 'rubygems'
2
+ require 'rubygems/specification'
3
+
4
+ require 'bundler'
5
+ Bundler::GemHelper.install_tasks
6
+
7
+ $:<< 'lib'
8
+ #require 'rb_import'
9
+
10
+ $stdout.puts """
11
+ rb_import Copyright (C) 2014 Franck Verrot <franck@verrot.fr>
12
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `rake license'.
13
+ This is free software, and you are welcome to redistribute it
14
+ under certain conditions; type `rake license' for details.
15
+
16
+ """
17
+
18
+ require 'rake/testtask'
19
+ Rake::TestTask.new do |t|
20
+ t.libs << "test"
21
+ t.pattern = "test/**/*_test.rb"
22
+ #t.verbose = true
23
+ #t.warning = true
24
+ end
25
+
26
+ def gemspec
27
+ @gemspec ||= begin
28
+ file = File.expand_path('../rb_import.gemspec', __FILE__)
29
+ puts file.inspect
30
+ puts '**'*12
31
+ eval(File.read(file), binding, file)
32
+ end
33
+ end
34
+
35
+ desc "Clean the current directory"
36
+ task :clean do
37
+ rm_rf 'tmp'
38
+ rm_rf 'pkg'
39
+ end
40
+
41
+ desc "Run the full spec suite"
42
+ task :full => ["clean", "test"]
43
+
44
+ desc "install the gem locally"
45
+ task :install => :package do
46
+ sh %{gem install pkg/#{gemspec.name}-#{gemspec.version}}
47
+ end
48
+
49
+ desc "validate the gemspec"
50
+ task :gemspec do
51
+ gemspec.validate
52
+ end
53
+
54
+ desc "Build the gem"
55
+ task :gem => [:gemspec, :build] do
56
+ mkdir_p "pkg"
57
+ sh "gem build rb_import.gemspec"
58
+ mv "#{gemspec.full_name}.gem", "pkg"
59
+
60
+ require 'digest/sha2'
61
+ built_gem_path = "pkg/#{gemspec.full_name}.gem"
62
+ checksum = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
63
+ checksum_path = "checksums/#{gemspec.version}.sha512"
64
+ File.open(checksum_path, 'w' ) {|f| f.write(checksum) }
65
+ end
66
+
67
+ desc "Install rb_import"
68
+ task :install => :gem do
69
+ sh "gem install pkg/#{gemspec.full_name}.gem"
70
+ end
71
+
72
+ task :default => :full
73
+
74
+ task :license do
75
+ `open http://opensource.org/licenses/MIT`
76
+ end
77
+
78
+ task :console do
79
+ require 'pry'
80
+ Pry.start
81
+ end
82
+
83
+ require 'rake/extensiontask'
84
+ spec = Gem::Specification.load('rb_import.gemspec')
85
+ Rake::ExtensionTask.new('rb_import', spec) do |ext|
86
+ ext.source_pattern = "*.{c,h}"
87
+ end
88
+
89
+ desc "Run the full spec suite"
90
+ task :full => ["clean", "compile", "test"]
@@ -0,0 +1,21 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZmcmFu
3
+ Y2sxFjAUBgoJkiaJk/IsZAEZFgZ2ZXJyb3QxEjAQBgoJkiaJk/IsZAEZFgJmcjAe
4
+ Fw0xNDA5MDcwODE4MDRaFw0xNTA5MDcwODE4MDRaMD0xDzANBgNVBAMMBmZyYW5j
5
+ azEWMBQGCgmSJomT8ixkARkWBnZlcnJvdDESMBAGCgmSJomT8ixkARkWAmZyMIIB
6
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw8Sqy/b4OzhODXkAqv/Ve7hp
7
+ oH5irjrS20ebbzWqefcHCybwqcmePUs4BtWnGMkGl+fe4Dxfh55m7EXbmbcLBqPJ
8
+ 3Q5bqIgXqmkzHU6oBpkY/fdcP0dLyYBTAo8jZsx6XE1NoC5MBFfHQ8GFzEox7ca7
9
+ eoRPETTFkrlOU8fQQvRMZV8cO9XbzX8PFsJ9iE7CSrZ3+78oFBrj+WslkdU/pR5g
10
+ CYU7eNmWPBbJsgWy9T63K4QkwMElJRvlge3dzAZBEktaxdbiPTQeBtLugIZV2nWA
11
+ mNVMXQ9FzDeSFEhm3ICMuSjJdyEsl9/Su6WFFDaRW4ntRzThdh0+Zs5YEz3+swID
12
+ AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUjJzR97Cw
13
+ I8juLYc/MgodFZPIVYkwGwYDVR0RBBQwEoEQZnJhbmNrQHZlcnJvdC5mcjAbBgNV
14
+ HRIEFDASgRBmcmFuY2tAdmVycm90LmZyMA0GCSqGSIb3DQEBBQUAA4IBAQAkNGfg
15
+ 9ysYJi/jrQ25GWgN3uJuvlscFYGPVmuyyOfsgm2NAkAV5Kn/rbeYxRecIRBU7HcZ
16
+ yVrHFaF36omjo5QIvNDNszHj4b/bwcW30QG0nNqzQlMTvAcsI9kwrDgoAd7qnSmb
17
+ Udf49ZrzniqaFR7OiBia2oXrYynD8Q4mRMzLTMdtdf8oy69DjCrrpzQvEcfHnxML
18
+ MY7zkhoLIwqbZ+/yfSm26+3h91WoEKEdK+caiHotdq1goqlBDIsLSR65siB2yna3
19
+ UeH0jxnbT6lYw622u74Z7Dd6iQfaOy1h+iJxnCQglf70rs9bS665Nr0QvvrbW8Hz
20
+ Vr/YT3S8RkdBsIdM
21
+ -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ 705672d7b5f6080c4e487e84cfa419c38866266ccd9bae4015f5b9327bba66defc0ebe165b1c828b697c3196cb863982d63e53200ee7a61909dc1a9bd0555261
@@ -0,0 +1,2 @@
1
+ require 'mkmf'
2
+ create_makefile 'rb_import'
@@ -0,0 +1,51 @@
1
+ #include <ruby.h>
2
+
3
+ char *load_file_in_str(const char *in) {
4
+ FILE *f = fopen(in, "r");
5
+
6
+ if(!f) {
7
+ return 0;
8
+ } else {
9
+ fseek(f, 0, SEEK_END);
10
+ long fsize = ftell(f);
11
+ fseek(f, 0, SEEK_SET);
12
+
13
+ char * out = malloc(fsize + 1);
14
+ int res = fread(out, fsize, 1, f);
15
+
16
+ if(res <= 0) {
17
+ return 0;
18
+ } else {
19
+ fclose(f);
20
+
21
+ out[fsize] = 0;
22
+ return out;
23
+ }
24
+ }
25
+ }
26
+
27
+ VALUE rb_import(VALUE self, VALUE file_name) {
28
+ /* try finding the file the same way Ruby's `load`
29
+ * or `require` would do */
30
+ VALUE file_location = rb_find_file(file_name);
31
+
32
+ if(RTEST(file_location)) {
33
+ char *file_path = RSTRING_PTR(file_location);
34
+ char *file_content = load_file_in_str(file_path);
35
+ int result;
36
+
37
+ VALUE obj = rb_eval_string_protect(file_content, &result);
38
+ if (result) {
39
+ rb_raise(rb_eLoadError, "can't eval imported file %s", RSTRING_PTR(file_location));
40
+ } else {
41
+ return obj;
42
+ }
43
+ } else {
44
+ rb_raise(rb_eLoadError, "can't import file %s", RSTRING_PTR(file_name));
45
+ }
46
+ }
47
+
48
+ void Init_rb_import() {
49
+ /* make `import` available in the `Kernel` module */
50
+ rb_define_method(rb_mKernel, "import", rb_import, 1);
51
+ }
data/lib/.gitkeep ADDED
File without changes
data/rb_import.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ $:<< 'lib'
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "rb_import"
6
+ spec.version = "0.1.0"
7
+ spec.authors = ["Franck Verrot"]
8
+ spec.email = ["franck@verrot.fr"]
9
+ spec.summary = %q{Add an import method to your Ruby VM}
10
+ spec.description = spec.summary
11
+ spec.homepage = "https://github.com/franckverrot/rb_import"
12
+ spec.license = "MIT"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0")
15
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
16
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
17
+ spec.require_paths = ["lib"]
18
+ spec.extensions << 'ext/rb_import/extconf.rb'
19
+
20
+ spec.add_development_dependency "bundler", "~> 1.5"
21
+ spec.add_development_dependency "rake"
22
+ spec.add_development_dependency "rake-compiler"
23
+ spec.add_development_dependency "pry"
24
+ spec.add_development_dependency "minitest"
25
+
26
+ spec.cert_chain = ['certs/franckverrot.pem']
27
+ spec.signing_key = File.expand_path(ENV['RUBYGEMS_CERT_PATH']) if $0 =~ /gem\z/
28
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+ require 'minitest/autorun'
3
+
4
+ class BasicTest < Minitest::Test
5
+ def test_basic
6
+ f = import("./test/fixtures/foo.rb")
7
+ assert_equal "foo bar", f.new.to_s
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ Class.new do
2
+ def bar
3
+ "bar"
4
+ end
5
+ end
@@ -0,0 +1,6 @@
1
+ Class.new do
2
+ @@bar = import './test/fixtures/bar.rb'
3
+ def to_s
4
+ "foo #{@@bar.new.bar}"
5
+ end
6
+ end
@@ -0,0 +1,21 @@
1
+ # rb_import
2
+ # Copyright (C) 2014 Franck Verrot <franck@verrot.fr>
3
+
4
+ # This program is free software: you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation, either version 3 of the License, or
7
+ # (at your option) any later version.
8
+
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+
17
+ gem 'minitest'
18
+
19
+ require 'minitest/autorun'
20
+ require 'rb_import'
21
+ require 'pry'
data.tar.gz.sig ADDED
Binary file
metadata ADDED
@@ -0,0 +1,159 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rb_import
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Franck Verrot
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDaDCCAlCgAwIBAgIBATANBgkqhkiG9w0BAQUFADA9MQ8wDQYDVQQDDAZmcmFu
14
+ Y2sxFjAUBgoJkiaJk/IsZAEZFgZ2ZXJyb3QxEjAQBgoJkiaJk/IsZAEZFgJmcjAe
15
+ Fw0xNDA5MDcwODE4MDRaFw0xNTA5MDcwODE4MDRaMD0xDzANBgNVBAMMBmZyYW5j
16
+ azEWMBQGCgmSJomT8ixkARkWBnZlcnJvdDESMBAGCgmSJomT8ixkARkWAmZyMIIB
17
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw8Sqy/b4OzhODXkAqv/Ve7hp
18
+ oH5irjrS20ebbzWqefcHCybwqcmePUs4BtWnGMkGl+fe4Dxfh55m7EXbmbcLBqPJ
19
+ 3Q5bqIgXqmkzHU6oBpkY/fdcP0dLyYBTAo8jZsx6XE1NoC5MBFfHQ8GFzEox7ca7
20
+ eoRPETTFkrlOU8fQQvRMZV8cO9XbzX8PFsJ9iE7CSrZ3+78oFBrj+WslkdU/pR5g
21
+ CYU7eNmWPBbJsgWy9T63K4QkwMElJRvlge3dzAZBEktaxdbiPTQeBtLugIZV2nWA
22
+ mNVMXQ9FzDeSFEhm3ICMuSjJdyEsl9/Su6WFFDaRW4ntRzThdh0+Zs5YEz3+swID
23
+ AQABo3MwcTAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUjJzR97Cw
24
+ I8juLYc/MgodFZPIVYkwGwYDVR0RBBQwEoEQZnJhbmNrQHZlcnJvdC5mcjAbBgNV
25
+ HRIEFDASgRBmcmFuY2tAdmVycm90LmZyMA0GCSqGSIb3DQEBBQUAA4IBAQAkNGfg
26
+ 9ysYJi/jrQ25GWgN3uJuvlscFYGPVmuyyOfsgm2NAkAV5Kn/rbeYxRecIRBU7HcZ
27
+ yVrHFaF36omjo5QIvNDNszHj4b/bwcW30QG0nNqzQlMTvAcsI9kwrDgoAd7qnSmb
28
+ Udf49ZrzniqaFR7OiBia2oXrYynD8Q4mRMzLTMdtdf8oy69DjCrrpzQvEcfHnxML
29
+ MY7zkhoLIwqbZ+/yfSm26+3h91WoEKEdK+caiHotdq1goqlBDIsLSR65siB2yna3
30
+ UeH0jxnbT6lYw622u74Z7Dd6iQfaOy1h+iJxnCQglf70rs9bS665Nr0QvvrbW8Hz
31
+ Vr/YT3S8RkdBsIdM
32
+ -----END CERTIFICATE-----
33
+ date: 2014-11-11 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: bundler
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: '1.5'
42
+ type: :development
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.5'
49
+ - !ruby/object:Gem::Dependency
50
+ name: rake
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ - !ruby/object:Gem::Dependency
64
+ name: rake-compiler
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ - !ruby/object:Gem::Dependency
78
+ name: pry
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ - !ruby/object:Gem::Dependency
92
+ name: minitest
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ description: Add an import method to your Ruby VM
106
+ email:
107
+ - franck@verrot.fr
108
+ executables: []
109
+ extensions:
110
+ - ext/rb_import/extconf.rb
111
+ extra_rdoc_files: []
112
+ files:
113
+ - ".gitignore"
114
+ - ".travis.yml"
115
+ - CHANGELOG.md
116
+ - Gemfile
117
+ - LICENSE.txt
118
+ - README.md
119
+ - Rakefile
120
+ - certs/franckverrot.pem
121
+ - checksums/0.1.0.sha512
122
+ - ext/rb_import/extconf.rb
123
+ - ext/rb_import/rb_import.c
124
+ - lib/.gitkeep
125
+ - rb_import.gemspec
126
+ - test/basic_test.rb
127
+ - test/fixtures/bar.rb
128
+ - test/fixtures/foo.rb
129
+ - test/test_helper.rb
130
+ homepage: https://github.com/franckverrot/rb_import
131
+ licenses:
132
+ - MIT
133
+ metadata: {}
134
+ post_install_message:
135
+ rdoc_options: []
136
+ require_paths:
137
+ - lib
138
+ required_ruby_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ required_rubygems_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: '0'
148
+ requirements: []
149
+ rubyforge_project:
150
+ rubygems_version: 2.2.0
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: Add an import method to your Ruby VM
154
+ test_files:
155
+ - test/basic_test.rb
156
+ - test/fixtures/bar.rb
157
+ - test/fixtures/foo.rb
158
+ - test/test_helper.rb
159
+ has_rdoc:
metadata.gz.sig ADDED
Binary file