これから始まるプロジェクトのために、コーディング規約を調べています。
少しだけPrefShimaneCMSを見てみたのですが、Rubyコーディング規約は適用されていませんでした。
たとえば、Rubyコーディング規約によるとクラスメソッドは、
クラスメソッドの定義にはselfを使用する。
とありますが、PrefShimaneCMSでは、
def Advertisement.pref_advertisement
def Advertisement.corp_advertisement
def Advertisement.pref_published_advertisement
と、selfではなく、クラス名を使用して定義されています。
メソッド呼び出しの時の括弧は、Rubyコーディング規約では、
メソッド呼び出しの引数リストには括弧を付ける。ただし、引数がない場合は、括弧を省略する。
とありますが、PrefShimaneCMSでは、括弧があったりなかったりと、全然統一されていません。
コーディング規約というは、実際には使われていないのかもしれません。
コーディング規約ではありませんが、ソースを見ていて気になったこと。
PrefShimaneCMSでは、ActiveHeartを使っているようです。
ActiveHeartは、現在では推奨されていません。
Ruby-GetText-Packageに移行すべきでしょう。
Modelがフィールドにアクセスする時、read_attribute/write_attributeを使わずに、「self.フィールド名」でアクセスしていました。
「self.フィールド名」でアクセスするとmethod_missingが呼び出されるため、効率が悪いように思えます。
method_missingでメソッドが定義されるので、呼び出されることになるのは、一度だけですが。
機種依存文字を見つけるlib/filter.rbや、Chasenを使ってルビを振るlib/ruby_adder.rbは使えるかも。