Sha256: 826c22476c922805d9b37503b848962553882696efa69aa2a84789700a0a27ce

Contents?: true

Size: 437 Bytes

Versions: 19

Compression:

Stored size: 437 Bytes

Contents

module Footing
  module Kernel

    # Safely evals text inside of a sandbox.
    # @see http://phrogz.net/programmingruby/taint.html Ruby safe level description.
    # @param [String] text The text to eval.
    # @param [Integer] level The safe level to apply.
    # @return [Object]
    def safe_eval(text, level=4)
      sandbox = lambda do
        $SAFE = level
        eval(text.to_s)
      end
      sandbox.call
    end

  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
footing-0.2.3 lib/footing/extensions/kernel.rb
footing-0.2.2 lib/footing/extensions/kernel.rb
footing-0.2.1 lib/footing/extensions/kernel.rb
footing-0.2.0 lib/footing/extensions/kernel.rb
footing-0.1.9 lib/footing/extensions/kernel.rb
footing-0.1.8 lib/footing/extensions/kernel.rb
footing-0.1.7 lib/footing/extensions/kernel.rb
footing-0.1.6 lib/footing/extensions/kernel.rb
footing-0.1.5 lib/footing/extensions/kernel.rb
footing-0.1.4 lib/footing/extensions/kernel.rb
footing-0.1.3 lib/footing/extensions/kernel.rb
footing-0.1.1 lib/extensions/kernel.rb
footing-0.1.0 lib/extensions/kernel.rb
footing-0.0.9 lib/extensions/kernel.rb
footing-0.0.8 lib/extensions/kernel.rb
footing-0.0.7 lib/extensions/kernel.rb
footing-0.0.6 lib/extensions/kernel.rb
footing-0.0.5 lib/extensions/kernel.rb
footing-0.0.4 lib/extensions/kernel.rb