Class: Rails::Console
- Inherits:
-
Object
- Object
- Rails::Console
- Defined in:
- lib/rails/commands/console.rb
Instance Attribute Summary collapse
-
#app ⇒ Object
readonly
Returns the value of attribute app.
-
#console ⇒ Object
readonly
Returns the value of attribute console.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
Instance Method Summary collapse
- #debugger? ⇒ Boolean
- #environment ⇒ Object
- #environment? ⇒ Boolean
-
#initialize(app, options = {}) ⇒ Console
constructor
A new instance of Console.
- #require_debugger ⇒ Object
- #sandbox? ⇒ Boolean
- #set_environment! ⇒ Object
- #start ⇒ Object
Constructor Details
#initialize(app, options = {}) ⇒ Console
Returns a new instance of Console.
46 47 48 49 50 51 52 53 54 |
# File 'lib/rails/commands/console.rb', line 46 def initialize(app, ={}) @app = app @options = app.sandbox = sandbox? app.load_console @console = app.config.console || IRB end |
Instance Attribute Details
#app ⇒ Object (readonly)
Returns the value of attribute app.
44 45 46 |
# File 'lib/rails/commands/console.rb', line 44 def app @app end |
#console ⇒ Object (readonly)
Returns the value of attribute console.
44 45 46 |
# File 'lib/rails/commands/console.rb', line 44 def console @console end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
44 45 46 |
# File 'lib/rails/commands/console.rb', line 44 def @options end |
Class Method Details
.parse_arguments(arguments) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/rails/commands/console.rb', line 12 def parse_arguments(arguments) = {} OptionParser.new do |opt| opt. = "Usage: rails console [environment] [options]" opt.on('-s', '--sandbox', 'Rollback database modifications on exit.') { |v| [:sandbox] = v } opt.on("-e", "--environment=name", String, "Specifies the environment to run this console under (test/development/production).", "Default: development") { |v| [:environment] = v.strip } opt.on("--debugger", 'Enable the debugger.') { |v| [:debugger] = v } opt.parse!(arguments) end if arguments.first && arguments.first[0] != '-' env = arguments.first if available_environments.include? env [:environment] = env else [:environment] = %w(production development test).detect {|e| e =~ /^#{env}/} || env end end end |
.start(*args) ⇒ Object
8 9 10 |
# File 'lib/rails/commands/console.rb', line 8 def start(*args) new(*args).start end |
Instance Method Details
#debugger? ⇒ Boolean
72 73 74 |
# File 'lib/rails/commands/console.rb', line 72 def debugger? [:debugger] end |
#environment ⇒ Object
60 61 62 |
# File 'lib/rails/commands/console.rb', line 60 def environment [:environment] ||= ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development' end |
#environment? ⇒ Boolean
64 65 66 |
# File 'lib/rails/commands/console.rb', line 64 def environment? environment end |
#require_debugger ⇒ Object
93 94 95 96 97 98 99 |
# File 'lib/rails/commands/console.rb', line 93 def require_debugger require 'debugger' puts "=> Debugger enabled" rescue LoadError puts "You're missing the 'debugger' gem. Add it to your Gemfile, bundle it and try again." exit(1) end |
#sandbox? ⇒ Boolean
56 57 58 |
# File 'lib/rails/commands/console.rb', line 56 def sandbox? [:sandbox] end |
#set_environment! ⇒ Object
68 69 70 |
# File 'lib/rails/commands/console.rb', line 68 def set_environment! Rails.env = environment end |
#start ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/rails/commands/console.rb', line 76 def start require_debugger if debugger? 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.send :include, Rails::ConsoleMethods end console.start end |