README
- Full Path:
- README
cutagem - Cut a Gem for creating new beautiful gem.
by cho45 <cho45@lowreal.net>
Description
cutagem (Cut a Gem) is yet another executable for creating gem skelton.
This is similar in concept to newgem but more customizable for each user.
cutagem (Cut a Gem: 宝石のカット) は新しい gem のスケルトンを作るコマンドです。
newgem とよく似たものですが、cutagem は 各ユーザがカスタマイズしやすいようになっています。
Concept
- User customizable templates.
- Not use hoe, etc. Because it makes difficult to customize the created Rakefile. A time like this, copy and paste is better than DRY.
- Do not use more config file which is written what can be written in Rakefile in default template.
- ユーザ固有のテンプレート
- hoe とかを使いません。これは生成された Rakefile を更めてその gem 用に カスタマイズしたいときにめんどくさくないようにです。
- このパッケージのテンプレートは、 Rakefile に書けば済むことを設定として分離したりしません。
Installation
Gem Installation
gem install cutagem
Subversion Repository
Hosted by CodeRepos
svn co http://svn.coderepos.org/share/lang/ruby/cutagem/
Usage
Most simple sample:
$ cutagem gemname
Using Template: .cutagem/templates/default
~/.cutagem/config.yaml is not found. Use default.
cp -r /pathto/templates/default /pathto/gemname
Rename test/gemname_test.rb to test/gemname_test.rb
Rename lib/gempath.rb to lib/gemname.rb
Done.
Type any key to edit Rakefile.
When gemname includes hyphens, it‘s replaced with "/".
$ cutagem module-test
Using Template: .cutagem/templates/default
~/.cutagem/config.yaml is found. Use it.
cp -r /pathto/templates/default /pathto/module-test
Rename test/gemname_test.rb to test/module-test_test.rb
Rename lib/gempath.rb to lib/module/test.rb
Done.
Type any key to edit Rakefile.
$ ls module-test/lib/module/test.rb
module-test/lib/module/test.rb
Select templates interactively. (-s, —select option)
$ cutagem -s module-test
Select template:
1. .cutagem/templates/default
2. default
3. command
1
Using Template: .cutagem/templates/default
~/.cutagem/config.yaml is found. Use it.
cp -r /pathto/templates/default /pathto/module-test
Rename test/gemname_test.rb to test/module-test_test.rb
Rename lib/gempath.rb to lib/module/test.rb
Done.
Type any key to edit Rakefile.
Edit user configuration.
$ cutagem -c
[Open ~/.cutagem/config.yaml with $EDITOR]
Other options:
Usage: cutagem [options] gemname
Options:
-s, --select Select template interactively.
-d, --desc Describe this gem.
-c, --config Configure user values. Use $EDITOR
--copy-template NAME Copy template to user template dir naming NAME
--version Show version string `0.0.2'
Customization
cutagem reads ~/.cutagem/templates/* for using it as custom template. Especially "default" template is precedence.
You can make new template by coping the existing template using ’—copy-template NAME’ option.
Priority Example
Library installed templates:
- default
- command
User templates:
- ~/.cutagem/templates/default
- ~/.cutagem/templates/foobar
Priority order:
- ~/.cutagem/templates/default
- ~/.cutagem/templates/foobar
- default (system)
- command (system)
If you want to check this priority, add -s, —select option to cutagem.
Template Spec.
File Name Replacement
- gemname
- The argument gemname.
- gempath
- The string created by replacing "-" with "/" in gemname. (ex. gemname is hoge-hoge then, gempath is hoge/hoge) The path is automatically created.
ERB Replacement
All files process through ERB.
- <%=gemname%>
- same as filename.
- <%=gempath%>
- same as filename.
- <%=gemclass%>
- classfied gemname. (ex. gemname is hoge-hoge_fuga then, gemclass is Hoge::HogeFuga)
- <%=author%>
- ENV["USER"] or ~/.cutagem/config.yaml#author
- <%=email%>
- #{ENV["USER"]}@#{ENV["HOST"]} or ~/.cutagem/config.yaml#email
- <%=description%>
- -d, —desc option‘s value
- <%=config["user_config_value"]%>
- Replace with ~/.cutagem/config.yaml entry.
Of course ERB is Ruby, you can write everything in the bracket.
Copyright
| Author: | cho45 <cho45@lowreal.net> |
| Copyright: | Copyright (c) 2007 cho45 www.lowreal.net |
| License: | Ruby‘s |