module IRuby::Rails

Public Class Methods

load(env = nil, sandbox = false, root = nil) click to toggle source
# File lib/iruby/rails.rb, line 8
def load(env = nil, sandbox = false, root = nil)
  root ||= Dir.pwd

  # RAILS_ENV needs to be set before config/application is required
  ENV['RAILS_ENV'] ||= env || 'development'

  require File.expand_path('config/boot', root)
  app_path = File.expand_path('config/application', root)
  require_application_and_environment!(app_path)

  setup_console(::Rails.application, sandbox)
end

Private Class Methods

environment() click to toggle source
# File lib/iruby/rails.rb, line 58
def environment
  ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development"
end
Also aliased as: environment?
environment?()
Alias for: environment
require_application_and_environment!(app_path) click to toggle source
# File lib/iruby/rails.rb, line 23
def require_application_and_environment!(app_path)
  require app_path
  ::Rails.application.require_environment!
end
set_environment!() click to toggle source
# File lib/iruby/rails.rb, line 54
def set_environment!
  ::Rails.env = environment
end
setup_console(app, sandbox) click to toggle source
# File lib/iruby/rails.rb, line 28
def setup_console(app, sandbox)
  app.sandbox = sandbox
  app.load_console

  set_environment! if environment?

  if sandbox
    puts "Loading #{::Rails.env} environment in sandbox (Rails #{::Rails.version})"
    puts "Any modifications you make will be rolled back on exit"
  else
    puts "Loading #{::Rails.env} environment (Rails #{::Rails.version})"
  end

  console =
    if app.config.console
      app.config.console
    else
      require "irb"
      IRB
    end

  if defined?(console::ExtendCommandBundle)
    console::ExtendCommandBundle.include(::Rails::ConsoleMethods)
  end
end