2011-12-02 11 views
1

外部からアクセス可能なすべてのパブリックメソッドを動的に通過し、承認ルールをチェックするチェックツール/レーキタスクを作成したいと考えています。すべてのRails 3コントローラとそのパブリックメソッドを一覧表示する方法

このためには、すべてのコントローラとすべてのパブリックメソッドを収集する必要があります。どうやってするか?私は、ファイルをグレープするのではなく、Rubyのリフレクションまたはメタデータのテクニックを使用したいと思います。

+0

/klass/:id/action(.:format))すくい路線で使用される形であなたのリストを与えるものとする

Rails.application.routes.routes.map(&:path) 

でまともな値を得ることができますが、キャッチオールのルールを持っている場合にのみ意味がありますコントローラー(/:アクション(/:id(。:フォーマット))) '' –

答えて

2

AFAICT一般的なケースでは、どのパラメータがどこに行くのかわからないので、これは不可能です。 /items/foo/idまたは/items/foo?bar=baz?また、どのパラメータの値は大丈夫ですか?

しかし、あなたは

+0

承認ルール(存在していてルールが何であるか)をチェックします。ありがとう – lzap

+0

はい、私は例えば、管理者や元々は作成したが、他のユーザーは作成できなかった項目の編集権限を持つことができます。これは適切なparamsの選択に依存します。 – riffraff