Class: Rails::Console
Relationships & Source Files | |
Inherits: | Object |
Defined in: | railties/lib/rails/commands/console.rb |
Class Method Summary
Instance Attribute Summary
- #app readonly
- #console readonly
- #debugger? ⇒ Boolean readonly
- #environment readonly
- #environment? ⇒ Boolean readonly
- #options readonly
- #sandbox? ⇒ Boolean readonly
Instance Method Summary
Constructor Details
.new(app, options = {}) ⇒ Console
Class Method Details
.parse_arguments(arguments)
[ GitHub ]# File 'railties/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", 'Enables the debugger.') do |v| if RUBY_VERSION < '2.0.0' [:debugger] = v else puts "=> Notice: debugger option is ignored since Ruby 2.0 and " \ "it will be removed in future versions." end end 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)
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 8
def start(*args) new(*args).start end
Instance Attribute Details
#app (readonly)
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 51
attr_reader :, :app, :console
#console (readonly)
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 51
attr_reader :, :app, :console
#debugger? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'railties/lib/rails/commands/console.rb', line 80
def debugger? [:debugger] end
#environment (readonly)
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 67
def environment [:environment] ||= ENV['RAILS_ENV'] || ENV['RACK_ENV'] || 'development' end
#environment? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'railties/lib/rails/commands/console.rb', line 71
def environment? environment end
#options (readonly)
[ GitHub ]
#sandbox? ⇒ Boolean
(readonly)
[ GitHub ]
# File 'railties/lib/rails/commands/console.rb', line 63
def sandbox? [:sandbox] end
Instance Method Details
#require_debugger
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 84
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
#set_environment!
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 75
def set_environment! Rails.env = environment end
#start
[ GitHub ]# File 'railties/lib/rails/commands/console.rb', line 93
def start if RUBY_VERSION < '2.0.0' require_debugger if debugger? end 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