2011年1月10日月曜日

[Ruby][Rails] CamelCase と snake_case

結構どこを探してもなかったんよね。
ヘルパーのAPIドキュメントにも無かったっぽいし。

つまりリフレクションしたいときとかにクラス名(CamelCase)をメソッド名(snake_case)に変換して __send__ したい場合があるじゃないのよさ。そんなときに一発変換できないかなと思って探してみたら、こんなメソッドが出てきました。

"CamelCase".underscore     # -> "camel_case"
"snake_case".camelize      # -> "SnakeCase"
"snake_case".pluralize     # -> "snake_cases"
"snake_cases".singularlize # -> "snake_case"
"snake_cases".classify     #  = "snake_cases".singularlize.camelize

classify メソッドなんてものもあった。で、こういうことがわかると検索したときに「あ、こんなに情報あるんじゃん」という事態になってしまう何かの法則。

あると便利だと思うので、Rails3からバラして使うのも良しですね。

押してねっ→BlogPeople「趣味の世界」ブログランキング

0 件のコメント:

コメントを投稿