/usr/lib/ruby/vendor_ruby/wikicloth/core_ext.rb is in ruby-wikicloth 0.8.1+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | require 'rinku'
if RUBY_VERSION < '1.9'
READ_MODE = "r"
class Object
module InstanceExecHelper; end
include InstanceExecHelper
def instance_exec(*args, &block)
begin
old_critical, Thread.critical = Thread.critical, true
n = 0
n += 1 while respond_to?(mname="__instance_exec#{n}")
InstanceExecHelper.module_eval{ define_method(mname, &block) }
ensure
Thread.critical = old_critical
end
begin
ret = send(mname, *args)
ensure
InstanceExecHelper.module_eval{ remove_method(mname) } rescue nil
end
ret
end
end
else
READ_MODE = "r:UTF-8"
end
module Math
def self.eval(expression)
allowed_characters = Regexp.escape('+-*/.() ')
safe_expression = expression.match(/[\d#{allowed_characters}]*/).to_s
Kernel.eval(safe_expression)
end
end
module ExtendedString
def blank?
respond_to?(:empty?) ? empty? : !self
end
def addslashes
self.gsub(/['"\\\x0]/,'\\\\\0');
end
def to_slug
self.gsub(/\W+/, '-').gsub(/^-+/,'').gsub(/-+$/,'').downcase
end
def auto_link
Rinku.auto_link(to_s)
end
def last(n)
self[-n,n]
end
def dump()
ret = to_s
delete!(to_s)
ret
end
def smart_split(char)
ret = []
tmp = ""
inside = 0
to_s.each_char do |x|
if x == char && inside == 0
ret << tmp
tmp = ""
else
inside += 1 if x == "[" || x == "{" || x == "<"
inside -= 1 if x == "]" || x == "}" || x == ">"
tmp += x
end
end
ret << tmp unless tmp.empty?
ret
end
end
|