- D
- E
- R
- S
Turns the current script into a daemon process that detaches from the console. It can be shut down with a TERM signal.
Source: show
# File rails/activesupport/lib/active_support/core_ext/kernel/daemonizing.rb, line 4 def daemonize exit if fork # Parent exits, child continues. Process.setsid # Become session leader. exit if fork # Zap session leader. See [1]. Dir.chdir "/" # Release old working directory. File.umask 0000 # Ensure sensible umask. Adjust as needed. STDIN.reopen "/dev/null" # Free file descriptors and STDOUT.reopen "/dev/null", "a" # point them somewhere sensible. STDERR.reopen STDOUT # STDOUT/ERR should better go to a logfile. trap("TERM") { exit } end
Sets $VERBOSE to true for the duration of the block and back to its original value afterwards.
Source: show
# File rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb, line 17 def enable_warnings old_verbose, $VERBOSE = $VERBOSE, true yield ensure $VERBOSE = old_verbose end
Source: show
# File rails/railties/test/mocks/stubbed_kernel.rb, line 2 def exec(*args) true end
Require a library with fallback to RubyGems. Warnings during library loading are silenced to increase signal/noise for application warnings.
Source: show
# File rails/activesupport/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
Silences any stream for the duration of the block.
silence_stream(STDOUT) do puts 'This will never be seen' end puts 'But this will'
Source: show
# File rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb, line 36 def silence_stream(stream) old_stream = stream.dup stream.reopen(RUBY_PLATFORM =~ %rmswin/ ? 'NUL:' : '/dev/null') stream.sync = true yield ensure stream.reopen(old_stream) end
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
Source: show
# File rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb, line 9 def silence_warnings old_verbose, $VERBOSE = $VERBOSE, nil yield ensure $VERBOSE = old_verbose end
Source: show
# File rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb, line 45 def suppress(*exception_classes) begin yield rescue Exception => e raise unless exception_classes.any? { |cls| e.kind_of?(cls) } end end