読者です 読者をやめる 読者になる 読者になる

kaminari.gemの依存関係を分離する

Ruby Kaminari

aereal/kaminari · GitHub

feature/separate-each-gemというブランチでRails (依存関係にはrailtiesが指定されているけどいっしょにrails.gemも入る) や特定のORMへの依存をそれぞれのgemへ分離する作業をしている。

  • Kaminari::Initializerというフックを叩く簡素なモジュールを導入
  • ORMの拡張はフックメソッドという形でKaminari::Initializerへ登録
  • RailtiesなんかはKaminari::Initializer.init!を叩く

というかんじ。

テストの分離がほったらかしなので、「なんとなく動いているかんじはする」というレベルだし、あくまで私家版の範疇を越えてないです。