Sha256: 9f111dacef8fba113a7ba3b27cbf754bcd8cd18156a5abe0ee8b4ad09dd3dc43

Contents?: true

Size: 637 Bytes

Versions: 38

Compression:

Stored size: 637 Bytes

Contents

# frozen_string_literal: true

if Lite::Ruby.configuration.monkey_patches.include?('kernel')
  module Kernel

    # rubocop:disable Lint/RescueException, Security/Eval
    def safe_eval
      eval(self)
    rescue Exception
      self
    end

    def try_eval
      val = /\[\d*,?\d*,?\d*\]/.match(to_s).to_s
      return val if val.nil?

      eval(val)
    end
    # rubocop:enable Lint/RescueException, Security/Eval

    private

    def caller_name(depth = 0)
      val = caller[depth][/`([^']*)'/, 1]
      return val if depth.zero? || !val.include?('<top (required)>')

      caller[depth - 1][/`([^']*)'/, 1]
    end

  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
lite-ruby-1.3.3 lib/lite/ruby/kernel.rb
lite-ruby-1.3.2 lib/lite/ruby/kernel.rb
lite-ruby-1.3.1 lib/lite/ruby/kernel.rb
lite-ruby-1.3.0 lib/lite/ruby/kernel.rb
lite-ruby-1.2.0 lib/lite/ruby/kernel.rb
lite-ruby-1.1.15 lib/lite/ruby/kernel.rb
lite-ruby-1.1.14 lib/lite/ruby/kernel.rb
lite-ruby-1.1.13 lib/lite/ruby/kernel.rb
lite-ruby-1.1.12 lib/lite/ruby/kernel.rb
lite-ruby-1.1.11 lib/lite/ruby/kernel.rb
lite-ruby-1.1.10 lib/lite/ruby/kernel.rb
lite-ruby-1.1.9 lib/lite/ruby/kernel.rb
lite-ruby-1.1.8 lib/lite/ruby/kernel.rb
lite-ruby-1.1.7 lib/lite/ruby/kernel.rb
lite-ruby-1.1.6 lib/lite/ruby/kernel.rb
lite-ruby-1.1.5 lib/lite/ruby/kernel.rb
lite-ruby-1.1.4 lib/lite/ruby/kernel.rb
lite-ruby-1.1.3 lib/lite/ruby/kernel.rb
lite-ruby-1.1.2 lib/lite/ruby/kernel.rb
lite-ruby-1.1.1 lib/lite/ruby/kernel.rb