example.txt
yaml setting(idea: .gemfile_arranger.yml)
block_order:
- source
- ruby
- gemspec
- gem
- group
group:
- production
- staging
- development
- test
priority_gem:
- rails
- redis
idobata rule:
https://gist.github.com/kakutani/43b9f42197ab002fcdf8
examples:
- examples/idobata.io.Gemfile
- examples/pigeon.tachikoma.io.Gemfile
## 説明
1. どのブロックなのかがわかる
2. ブロックごとに並べる
3. ブロックの中で、
- [x] sourceを一番上のグループ、rubyを二番目のグループ, gemspecを三番目, gemを四番目, groupを五番目に並べる
- groupの並び順設定通りに並べる
- groupの並び順設定がなければ、sortの設定で、groupを並べる
- [x] priority_gem設定があり、各group内でpriority_gemがあったら、まずその順番に並べる
- 3番目のグループから、sortの設定で、gemを並べ替える
## 懸念
- 裸のgemにgroupがついていたら?? -> { group: :development } がつくだけなので注意
- Bundler::Dsl にpublicで定義されたメソッドしか使えない ホワイトリストで良さそう(ただし動的に作る)
- dog-fooding