Rails 3.1でひらがなをカタカナに変換する方法

こんにちは。現在携わっている案件で、ひらがなをカタカナにする必要があったので、
その方法のメモ書きです。

確認環境

  • ruby1.9.2
  • Rails 3.1.3

Rubyでとりあえずやってみる

  • rubyコード
'こんにちは'.tr('ぁ-ん','ァ-ン')
  • 結果

kana

簡単ですね^^;;
さすがruby先生です。

Railsでto_kanaメソッドを作る

Rubyだと簡単にカタカナに変換できるのですが、毎回上記のようにtrメソッドで書くの面倒くさいですよね。
'こんにちは'.to_kanaみたいに書けたら楽ですよね。

ということで作ってみました。

trメソッドがStringクラスのメソッドなので、Stringクラスを拡張しましょう。

以下のようにファイルを作成

  • /lib/module/string_extention.rb
# -*- coding: utf-8 -*-
class String
  def to_kana
    self.tr('ぁ-ん','ァ-ン')
  end
end

上記で作成したファイルを読み込むようにしましょう。
“/initializers”以下に適当にファイルを作成しましょう。
私は”/initializers/load_module.rb”としました。

Dir.glob(File.join(Rails.root, 'lib', 'module', '*.rb')) do |file|
  load file
end

“lib/module”以下をすべて読むような形にしました。

rails consoleコマンドを叩いて確かめてみましょう。

'こんにちは'.to_kana
  • 結果

kana2

できました。
これでひらがなからカタカナへの変換が楽になりますね。

ちなみに漢字やローマ字の文字にto_kanaをすると何もおきません。元の文字が表示されます。

to_kanaがひらがなへの変換なのかカタカナへの変換なのかわかりにくいという意見があるので何か良い命名があれば教えてください。

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ