Class: Rails::Console

Inherits:
Object
  • Object
show all
Defined in:
lib/rails/commands/console/console_command.rb

Defined Under Namespace

Modules: BacktraceCleaner

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ Console

Returns a new instance of Console.



22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rails/commands/console/console_command.rb', line 22

def initialize(app, options = {})
  @app     = app
  @options = options

  app.sandbox = sandbox?
  app.load_console

  @console = app.config.console || IRB

  if @console == IRB
    IRB::WorkSpace.prepend(BacktraceCleaner)
  end
end

Instance Attribute Details

#appObject (readonly)

Returns the value of attribute app.



20
21
22
# File 'lib/rails/commands/console/console_command.rb', line 20

def app
  @app
end

#consoleObject (readonly)

Returns the value of attribute console.



20
21
22
# File 'lib/rails/commands/console/console_command.rb', line 20

def console
  @console
end

#optionsObject (readonly)

Returns the value of attribute options.



20
21
22
# File 'lib/rails/commands/console/console_command.rb', line 20

def options
  @options
end

Class Method Details

.start(*args) ⇒ Object



16
17
18
# File 'lib/rails/commands/console/console_command.rb', line 16

def self.start(*args)
  new(*args).start
end

Instance Method Details

#environmentObject Also known as: environment?



40
41
42
# File 'lib/rails/commands/console/console_command.rb', line 40

def environment
  options[:environment]
end

#sandbox?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/rails/commands/console/console_command.rb', line 36

def sandbox?
  options[:sandbox]
end

#set_environment!Object



45
46
47
# File 'lib/rails/commands/console/console_command.rb', line 45

def set_environment!
  Rails.env = environment
end

#startObject



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/rails/commands/console/console_command.rb', line 49

def start
  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

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