cutagem - Cut a Gem for creating new beautiful gem.
by cho45 <[email protected]>
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 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 ishoge-hoge
then, gempath ishoge/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 isHoge/HogeFuga
)- <%=author%>
-
ENV or ~/.cutagem/config.yaml#author
- <%=email%>
-
#{ENV["USER"]}@#{ENV["HOST"]}
or ~/.cutagem/config.yaml#email- <%=description%>
-
-d
,--desc
option’s value- <%=config%>
-
Replace with ~/.cutagem/config.yaml entry.
Of course ERB is Ruby, you can write everything in the bracket.
Copyright
- Author
-
cho45 <[email protected]>
- Copyright
-
Copyright © 2007 cho45 www.lowreal.net
- License
-
Ruby’s