jpmobileをTizenに対応させる方法(Rails3)
概要
jpmobileをTizenに対応させてみる を参考にしたというかほぼそのまま。
参考サイトでは、lib/以下にファイルを置いているけど、個人的には独自のパッチは、config/initializers/以下に配置するのがベストだと思うので、そっちのアプローチで対応してみた。
ソース
以下のソースをconfig/initializers/jpmobile_tizen.rbとして保存して、railsを再起動すれば完了!
# encoding: utf-8 # #== 概要 # jpmobileをTizeに対応させるパッチ module Jpmobile module Mobile DEFAULT_CARRIERS_WITH_TIZEN = DEFAULT_CARRIERS + ["Tizen"] def self.carriers if @carriers.nil? || @carriers == DEFAULT_CARRIERS @carriers = DEFAULT_CARRIERS_WITH_TIZEN.dup end @carriers end class Tizen < SmartPhone # 対応するUser-Agentの正規表現 USER_AGENT_REGEXP = /Tizen/ end end end
できるようになる事
ユーザエージェントにTizenを含む端末に対して以下の動作は確認できた。
- request.smart_phone?がtrueになる
- app/views/xxx_smart_phone.html.erb などスマートフォン用のビューが参照される