Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
ea106cf0
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,发现更多精彩内容 >>
提交
ea106cf0
编写于
6月 23, 2009
作者:
J
José Valim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added plugin generators (and a couple of TODOs).
上级
d7bab3a4
变更
20
显示空白变更内容
内联
并排
Showing
20 changed file
with
175 addition
and
12 deletion
+175
-12
railties/lib/generators/base.rb
railties/lib/generators/base.rb
+7
-4
railties/lib/generators/error.rb
railties/lib/generators/error.rb
+0
-6
railties/lib/generators/rails/plugin/USAGE
railties/lib/generators/rails/plugin/USAGE
+13
-0
railties/lib/generators/rails/plugin/plugin_generator.rb
railties/lib/generators/rails/plugin/plugin_generator.rb
+41
-0
railties/lib/generators/rails/plugin/templates/MIT-LICENSE
railties/lib/generators/rails/plugin/templates/MIT-LICENSE
+20
-0
railties/lib/generators/rails/plugin/templates/README
railties/lib/generators/rails/plugin/templates/README
+13
-0
railties/lib/generators/rails/plugin/templates/Rakefile
railties/lib/generators/rails/plugin/templates/Rakefile
+23
-0
railties/lib/generators/rails/plugin/templates/generators/%file_name%/%file_name%_generator.rb.tt
...plates/generators/%file_name%/%file_name%_generator.rb.tt
+2
-0
railties/lib/generators/rails/plugin/templates/generators/%file_name%/USAGE.tt
...rs/rails/plugin/templates/generators/%file_name%/USAGE.tt
+8
-0
railties/lib/generators/rails/plugin/templates/generators/%file_name%/templates/.empty_directory
...mplates/generators/%file_name%/templates/.empty_directory
+0
-0
railties/lib/generators/rails/plugin/templates/init.rb
railties/lib/generators/rails/plugin/templates/init.rb
+1
-0
railties/lib/generators/rails/plugin/templates/install.rb
railties/lib/generators/rails/plugin/templates/install.rb
+1
-0
railties/lib/generators/rails/plugin/templates/lib/%file_name%.rb.tt
...b/generators/rails/plugin/templates/lib/%file_name%.rb.tt
+1
-0
railties/lib/generators/rails/plugin/templates/tasks/%file_name%_tasks.rake.tt
...rs/rails/plugin/templates/tasks/%file_name%_tasks.rake.tt
+4
-0
railties/lib/generators/rails/plugin/templates/uninstall.rb
railties/lib/generators/rails/plugin/templates/uninstall.rb
+1
-0
railties/lib/generators/test_unit.rb
railties/lib/generators/test_unit.rb
+2
-2
railties/lib/generators/test_unit/plugin/USAGE
railties/lib/generators/test_unit/plugin/USAGE
+13
-0
railties/lib/generators/test_unit/plugin/plugin_generator.rb
railties/lib/generators/test_unit/plugin/plugin_generator.rb
+14
-0
railties/lib/generators/test_unit/plugin/templates/test/%file_name%_test.rb
...ators/test_unit/plugin/templates/test/%file_name%_test.rb
+8
-0
railties/lib/generators/test_unit/plugin/templates/test/test_helper.rb
...generators/test_unit/plugin/templates/test/test_helper.rb
+3
-0
未找到文件。
railties/lib/generators/base.rb
浏览文件 @
ea106cf0
require
'generators/actions'
require
'generators/error'
module
Rails
module
Generators
class
Error
<
Thor
::
Error
end
class
Base
<
Thor
::
Group
include
Rails
::
Generators
::
Actions
include
Thor
::
Actions
...
...
@@ -45,7 +47,7 @@ def self.base_name
#
def
self
.
generator_name
@generator_name
||=
begin
klass_name
=
self
.
name
.
gsub
(
/^Rails::Generators::/
,
''
)
klass_name
=
self
.
name
.
split
(
'::'
).
last
klass_name
.
gsub!
(
/Generator$/
,
''
)
klass_name
.
underscore
end
...
...
@@ -71,7 +73,8 @@ def self.add_shebang_option!
# Small macro to add test_framework option and invoke it.
#
def
self
.
add_test_framework_option!
class_option
:test_framework
,
:type
=>
:string
,
:aliases
=>
"-t"
,
:default
=>
"testunit"
,
# TODO Reduce the example name
class_option
:test_framework
,
:type
=>
:string
,
:aliases
=>
"-t"
,
:default
=>
"test_unit"
,
:desc
=>
"Test framework to be invoked by this generator"
define_method
:invoke_test_framework
do
...
...
@@ -80,7 +83,7 @@ def self.add_test_framework_option!
begin
invoke
name
rescue
Thor
::
UndefinedTaskError
rescue
Thor
::
UndefinedTaskError
# TODO Ensure this message is called.
say
"Could not find and/or invoke
#{
name
}
."
end
end
...
...
railties/lib/generators/error.rb
已删除
100644 → 0
浏览文件 @
d7bab3a4
module
Rails
module
Generators
class
Error
<
Thor
::
Error
end
end
end
railties/lib/generators/rails/plugin/USAGE
0 → 100644
浏览文件 @
ea106cf0
Description:
Stubs out a new plugin at vendor/plugins. Pass the plugin name, either
CamelCased or under_scored, as an argument.
Example:
`./script/generate plugin BrowserFilters`
creates a standard browser_filters plugin:
vendor/plugins/browser_filters/README
vendor/plugins/browser_filters/init.rb
vendor/plugins/browser_filters/install.rb
vendor/plugins/browser_filters/lib/browser_filters.rb
vendor/plugins/browser_filters/test/browser_filters_test.rb
railties/lib/generators/rails/plugin/plugin_generator.rb
0 → 100644
浏览文件 @
ea106cf0
module
Rails
module
Generators
class
PluginGenerator
<
NamedBase
def
create_root
self
.
root
=
File
.
expand_path
(
"vendor/plugins/
#{
file_name
}
"
,
root
)
empty_directory
'.'
FileUtils
.
cd
(
root
)
end
# TODO Check class collision
def
create_root_files
%w(README MIT-LICENSE Rakefile init.rb install.rb uninstall.rb)
.
each
do
|
file
|
template
file
end
end
def
create_lib_files
directory
'lib'
end
add_test_framework_option!
class_option
:with_tasks
,
:type
=>
:boolean
,
:aliases
=>
"-r"
,
:default
=>
false
,
:desc
=>
"When supplied creates tasks base files."
class_option
:with_generator
,
:type
=>
:boolean
,
:aliases
=>
"-g"
,
:default
=>
false
,
:desc
=>
"When supplied creates generator base files."
def
create_tasks_files
return
unless
options
[
:with_tasks
]
directory
'tasks'
end
def
create_generator_files
return
unless
options
[
:with_generator
]
directory
'generators'
end
end
end
end
railties/lib/generators/rails/plugin/templates/MIT-LICENSE
0 → 100644
浏览文件 @
ea106cf0
Copyright (c) <%= Date.today.year %> [name of plugin creator]
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
railties/lib/generators/rails/plugin/templates/README
0 → 100644
浏览文件 @
ea106cf0
<%= class_name %>
<%= "=" * class_name.size %>
Introduction goes here.
Example
=======
Example goes here.
Copyright (c) <%= Date.today.year %> [name of plugin creator], released under the MIT license
railties/lib/generators/rails/plugin/templates/Rakefile
0 → 100644
浏览文件 @
ea106cf0
require
'rake'
require
'rake/testtask'
require
'rake/rdoctask'
desc
'Default: run unit tests.'
task
:default
=>
:test
desc
'Test the <%= file_name %> plugin.'
Rake
::
TestTask
.
new
(
:test
)
do
|
t
|
t
.
libs
<<
'lib'
t
.
libs
<<
'test'
t
.
pattern
=
'test/**/*_test.rb'
t
.
verbose
=
true
end
desc
'Generate documentation for the <%= file_name %> plugin.'
Rake
::
RDocTask
.
new
(
:rdoc
)
do
|
rdoc
|
rdoc
.
rdoc_dir
=
'rdoc'
rdoc
.
title
=
'<%= class_name %>'
rdoc
.
options
<<
'--line-numbers'
<<
'--inline-source'
rdoc
.
rdoc_files
.
include
(
'README'
)
rdoc
.
rdoc_files
.
include
(
'lib/**/*.rb'
)
end
railties/lib/generators/rails/plugin/templates/generators/%file_name%/%file_name%_generator.rb.tt
0 → 100644
浏览文件 @
ea106cf0
class <%= class_name %>Generator < Rails::Generators::NamedBase
end
railties/lib/generators/rails/plugin/templates/generators/%file_name%/USAGE.tt
0 → 100644
浏览文件 @
ea106cf0
Description:
Explain the generator
Example:
./script/generate <%= file_name %> Thing
This will create:
what/will/it/create
railties/lib/generators/rails/plugin/templates/generators/%file_name%/templates/.empty_directory
0 → 100644
浏览文件 @
ea106cf0
railties/lib/generators/rails/plugin/templates/init.rb
0 → 100644
浏览文件 @
ea106cf0
# Include hook code here
railties/lib/generators/rails/plugin/templates/install.rb
0 → 100644
浏览文件 @
ea106cf0
# Install hook code here
railties/lib/generators/rails/plugin/templates/lib/%file_name%.rb.tt
0 → 100644
浏览文件 @
ea106cf0
# <%= class_name %>
railties/lib/generators/rails/plugin/templates/tasks/%file_name%_tasks.rake.tt
0 → 100644
浏览文件 @
ea106cf0
# desc "Explaining what the task does"
# task :<%= file_name %> do
# # Task goes here
# end
railties/lib/generators/rails/plugin/templates/uninstall.rb
0 → 100644
浏览文件 @
ea106cf0
# Uninstall hook code here
railties/lib/generators/test_unit.rb
浏览文件 @
ea106cf0
require
'generators/named_base'
module
Rails
module
TestUnit
module
Generators
class
TestUnit
<
NamedBase
class
Base
<
Rails
::
Generators
::
NamedBase
protected
def
self
.
base_name
'test_unit'
...
...
railties/lib/generators/test_unit/plugin/USAGE
0 → 100644
浏览文件 @
ea106cf0
Description:
Stubs out a new plugin at vendor/plugins. Pass the plugin name, either
CamelCased or under_scored, as an argument.
Example:
`./script/generate plugin BrowserFilters`
creates a standard browser_filters plugin:
vendor/plugins/browser_filters/README
vendor/plugins/browser_filters/init.rb
vendor/plugins/browser_filters/install.rb
vendor/plugins/browser_filters/lib/browser_filters.rb
vendor/plugins/browser_filters/test/browser_filters_test.rb
railties/lib/generators/test_unit/plugin/plugin_generator.rb
0 → 100644
浏览文件 @
ea106cf0
module
TestUnit
module
Generators
class
PluginGenerator
<
Base
desc
<<
DESC
Description:
Create TestUnit files for plugin generator.
DESC
def
create_test_files
directory
'test'
end
end
end
end
railties/lib/generators/test_unit/plugin/templates/test/%file_name%_test.rb
0 → 100644
浏览文件 @
ea106cf0
require
'test_helper'
class
<
%= class_name %>Test < ActiveSupport::TestCase
# Replace this with your real tests.
test "the truth" do
assert true
end
end
railties/lib/generators/test_unit/plugin/templates/test/test_helper.rb
0 → 100644
浏览文件 @
ea106cf0
require
'rubygems'
require
'active_support'
require
'active_support/test_case'
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录