Class/Module Index [+]

Quicksearch

Kernel

Since Ruby is very dynamic, methods added to the ancestors of BlankSlate after BlankSlate is defined will show up in the list of available BlankSlate methods. We handle this by defining a hook in the Object and Kernel classes that will hide any method defined after BlankSlate has been loaded.

Public Class Methods

blank_slate_method_added(name) click to toggle source
Alias for: method_added
method_added(name) click to toggle source

Detect method additions to Kernel and remove them in the BlankSlate class.

# File lib/active_support/vendor/builder-2.1.2/blankslate.rb, line 65
def method_added(name)
  result = blank_slate_method_added(name)
  return result if self != Kernel
  BlankSlate.hide(name)
  result
end
Also aliased as: blank_slate_method_added

Public Instance Methods

breakpoint() click to toggle source
# File lib/active_support/core_ext/kernel/debugger.rb, line 11
def breakpoint
  message = "\n***** The 'breakpoint' command has been renamed 'debugger' -- please change *****\n"
  defined?(Rails) ? Rails.logger.info(message) : $stderr.puts(message)
  debugger
end
class_eval(*args, &block) click to toggle source

class_eval on an object acts like singleton_class.class_eval.

# File lib/active_support/core_ext/kernel/singleton_class.rb, line 10
def class_eval(*args, &block)
  singleton_class.class_eval(*args, &block)
end
daemonize() click to toggle source

Turns the current script into a daemon process that detaches from the console. It can be shut down with a TERM signal.

# File lib/active_support/core_ext/kernel/daemonizing.rb, line 4
def daemonize
  Process.daemon
end
debugger() click to toggle source

Starts a debugging session if ruby-debug has been loaded (call script/server --debugger to do load it).

# File lib/active_support/core_ext/kernel/debugger.rb, line 4
def debugger
  message = "\n***** Debugger requested, but was not available: Start server with --debugger to enable *****\n"
  defined?(Rails) ? Rails.logger.info(message) : $stderr.puts(message)
end
enable_warnings() click to toggle source

Sets $VERBOSE to true for the duration of the block and back to its original value afterwards.

# File lib/active_support/core_ext/kernel/reporting.rb, line 17
def enable_warnings
  old_verbose, $VERBOSE = $VERBOSE, true
  yield
ensure
  $VERBOSE = old_verbose
end
require_library_or_gem(library_name) click to toggle source

Require a library with fallback to RubyGems. Warnings during library loading are silenced to increase signal/noise for application warnings.

# File lib/active_support/core_ext/kernel/requires.rb, line 4
def require_library_or_gem(library_name)
  silence_warnings do
    begin
      require library_name
    rescue LoadError => cannot_require
      # 1. Requiring the module is unsuccessful, maybe it's a gem and nobody required rubygems yet. Try.
      begin
        require 'rubygems'
      rescue LoadError => rubygems_not_installed
        raise cannot_require
      end
      # 2. Rubygems is installed and loaded. Try to load the library again
      begin
        require library_name
      rescue LoadError => gem_not_installed
        raise cannot_require
      end
    end
  end
end
silence_stream(stream) click to toggle source

Silences any stream for the duration of the block.

silence_stream(STDOUT) do
  puts 'This will never be seen'
end

puts 'But this will'
# File lib/active_support/core_ext/kernel/reporting.rb, line 36
def silence_stream(stream)
  old_stream = stream.dup
  stream.reopen(RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'NUL:' : '/dev/null')
  stream.sync = true
  yield
ensure
  stream.reopen(old_stream)
end
silence_warnings() click to toggle source

Sets $VERBOSE to nil for the duration of the block and back to its original value afterwards.

silence_warnings do
  value = noisy_call # no warning voiced
end

noisy_call # warning voiced
# File lib/active_support/core_ext/kernel/reporting.rb, line 9
def silence_warnings
  old_verbose, $VERBOSE = $VERBOSE, nil
  yield
ensure
  $VERBOSE = old_verbose
end
singleton_class() click to toggle source

Returns the object's singleton class.

# File lib/active_support/core_ext/kernel/singleton_class.rb, line 3
def singleton_class
  class << self
    self
  end
end
suppress(*exception_classes) click to toggle source

Blocks and ignores any exception passed as argument if raised within the block.

suppress(ZeroDivisionError) do
  1/0
  puts "This code is NOT reached"
end

puts "This code gets executed and nothing related to ZeroDivisionError was seen"
# File lib/active_support/core_ext/kernel/reporting.rb, line 53
def suppress(*exception_classes)
  begin yield
  rescue Exception => e
    raise unless exception_classes.any? { |cls| e.kind_of?(cls) }
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.