summaryrefslogtreecommitdiff
path: root/tool/ruby_vm/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'tool/ruby_vm/helpers')
-rw-r--r--tool/ruby_vm/helpers/c_escape.rb8
-rw-r--r--tool/ruby_vm/helpers/dumper.rb6
-rw-r--r--tool/ruby_vm/helpers/scanner.rb2
3 files changed, 12 insertions, 4 deletions
diff --git a/tool/ruby_vm/helpers/c_escape.rb b/tool/ruby_vm/helpers/c_escape.rb
index 088df1562e..2f73b8889f 100644
--- a/tool/ruby_vm/helpers/c_escape.rb
+++ b/tool/ruby_vm/helpers/c_escape.rb
@@ -118,3 +118,11 @@ module RubyVM::CEscape
}.freeze
private_constant :RString2CStr
end
+
+unless defined? ''.b
+ class String
+ def b
+ return dup.force_encoding 'binary'
+ end
+ end
+end
diff --git a/tool/ruby_vm/helpers/dumper.rb b/tool/ruby_vm/helpers/dumper.rb
index 3ba7310f56..2d6bb269f6 100644
--- a/tool/ruby_vm/helpers/dumper.rb
+++ b/tool/ruby_vm/helpers/dumper.rb
@@ -25,7 +25,7 @@ class RubyVM::Dumper
end
def new_erb spec
- path = Pathname.new __dir__
+ path = Pathname.new(__FILE__).realpath.dirname
path += '../views'
path += spec
src = path.read mode: 'rt:utf-8:utf-8'
@@ -88,8 +88,8 @@ class RubyVM::Dumper
@file = cstr dst.realdirpath.to_path
end
- def render partial, locals: {}
- return do_render "_#{partial}.erb", locals
+ def render partial, opts = { :locals => {} }
+ return do_render "_#{partial}.erb", opts[:locals]
end
def generate template
diff --git a/tool/ruby_vm/helpers/scanner.rb b/tool/ruby_vm/helpers/scanner.rb
index 5ae1363480..8f7531abda 100644
--- a/tool/ruby_vm/helpers/scanner.rb
+++ b/tool/ruby_vm/helpers/scanner.rb
@@ -20,7 +20,7 @@ class RubyVM::Scanner
attr_reader :__LINE__
def initialize path
- src = Pathname.new __dir__
+ src = Pathname.new(__FILE__).realpath.dirname
src += path
@__LINE__ = 1
@__FILE__ = src.realpath.to_path