Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
53d7acdf
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
53d7acdf
编写于
11月 23, 2009
作者:
C
Carlhuda
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Refactor script/console into an object and use IRB.start instead of calling exec.
上级
a080323c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
49 addition
and
39 deletion
+49
-39
railties/lib/rails/commands/console.rb
railties/lib/rails/commands/console.rb
+48
-39
railties/lib/rails/generators/rails/app/templates/script/console
...s/lib/rails/generators/rails/app/templates/script/console
+1
-0
未找到文件。
railties/lib/rails/commands/console.rb
浏览文件 @
53d7acdf
irb
=
RUBY_PLATFORM
=~
/(:?mswin|mingw)/
?
'irb.bat'
:
'irb'
require
'optparse'
require
'irb'
require
"irb/completion"
options
=
{
:sandbox
=>
false
,
:irb
=>
irb
}
OptionParser
.
new
do
|
opt
|
opt
.
banner
=
"Usage: console [environment] [options]"
opt
.
on
(
'-s'
,
'--sandbox'
,
'Rollback database modifications on exit.'
)
{
|
v
|
options
[
:sandbox
]
=
v
}
opt
.
on
(
"--irb=[
#{
irb
}
]"
,
'Invoke a different irb.'
)
{
|
v
|
options
[
:irb
]
=
v
}
opt
.
on
(
"--debugger"
,
'Enable ruby-debugging for the console.'
)
{
|
v
|
options
[
:debugger
]
=
v
}
opt
.
parse!
(
ARGV
)
end
module
Rails
class
Console
def
self
.
start
new
.
start
end
libs
=
" -r irb/completion"
libs
<<
%( -r "#{Rails.root}/config/environment")
libs
<<
" -r rails/console_app"
libs
<<
" -r rails/console_sandbox"
if
options
[
:sandbox
]
libs
<<
" -r rails/console_with_helpers"
def
start
options
=
{}
if
options
[
:debugger
]
begin
require
'ruby-debug'
libs
<<
" -r ruby-debug"
puts
"=> Debugger enabled"
rescue
Exception
puts
"You need to install ruby-debug to run the console in debugging mode. With gems, use 'gem install ruby-debug'"
exit
end
end
OptionParser
.
new
do
|
opt
|
opt
.
banner
=
"Usage: console [environment] [options]"
opt
.
on
(
'-s'
,
'--sandbox'
,
'Rollback database modifications on exit.'
)
{
|
v
|
options
[
:sandbox
]
=
v
}
opt
.
on
(
"--debugger"
,
'Enable ruby-debugging for the console.'
)
{
|
v
|
options
[
:debugger
]
=
v
}
opt
.
parse!
(
ARGV
)
end
require
"
#{
Rails
.
root
}
/config/environment"
require
"rails/console_app"
require
"rails/console_sandbox"
if
options
[
:sandbox
]
require
"rails/console_with_helpers"
ENV
[
'RAILS_ENV'
]
=
case
ARGV
.
first
when
"p"
;
"production"
when
"d"
;
"development"
when
"t"
;
"test"
else
ARGV
.
first
||
ENV
[
'RAILS_ENV'
]
||
'development'
end
if
options
[
:debugger
]
begin
require
'ruby-debug'
puts
"=> Debugger enabled"
rescue
Exception
puts
"You need to install ruby-debug to run the console in debugging mode. With gems, use 'gem install ruby-debug'"
exit
end
end
if
options
[
:sandbox
]
puts
"Loading
#{
ENV
[
'RAILS_ENV'
]
}
environment in sandbox (Rails
#{
Rails
.
version
}
)"
puts
"Any modifications you make will be rolled back on exit"
else
puts
"Loading
#{
ENV
[
'RAILS_ENV'
]
}
environment (Rails
#{
Rails
.
version
}
)"
end
exec
"
#{
options
[
:irb
]
}
#{
libs
}
--simple-prompt"
ENV
[
'RAILS_ENV'
]
=
case
ARGV
.
first
when
"p"
then
"production"
when
"d"
then
"development"
when
"t"
then
"test"
else
ARGV
.
first
||
ENV
[
'RAILS_ENV'
]
||
'development'
end
if
options
[
:sandbox
]
puts
"Loading
#{
ENV
[
'RAILS_ENV'
]
}
environment in sandbox (Rails
#{
Rails
.
version
}
)"
puts
"Any modifications you make will be rolled back on exit"
else
puts
"Loading
#{
ENV
[
'RAILS_ENV'
]
}
environment (Rails
#{
Rails
.
version
}
)"
end
IRB
.
start
end
end
end
\ No newline at end of file
railties/lib/rails/generators/rails/app/templates/script/console
浏览文件 @
53d7acdf
require File.expand_path('../../config/application', __FILE__)
require 'rails/commands/console'
Rails::Console.start
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录