ブラウザ・デバイスの判定を行うgem「browser」

f:id:ryoutaku_jo:20190615020030p:plain

【結論】

・「browser」とは、Railsのgemの一種

・アクセス元のブラウザ(IE/Safari/Chromeなど)や、デバイス(PC/スマホなど)の種類を判定してくれる

・ブラウザやデバイス毎に処理方法を切り替えたい場合に有用

【目次】

【本題】

ブラウザ・デバイスの判定が必要なケース

ページの表示において、ブラウザ間の互換性を、どこまで維持して行くかは大きな課題の一つです。

特にIEの場合、他のブラウザでは対応していることが出来ないケースが多く、他のブラウザを基準に実装を進めると、表示が思うようにされない場合があります。

また、PC/スマホ間のレスポンシブ対応についても、全て対応させるとかなりの労力を必要とします。

こういった問題を解消させる手段として、特定のブラウザ・デバイス毎に処理内容を変更する方法があります。

そういったブラウザ・デバイスの判定を行いたい際に役立つのが「browser」です。

「browser」について

「browser」とは、Railsのgemの一種で、アクセス元のブラウザ(IE/Safari/Chromeなど)や、デバイス(PC/スマホなど)の種類を判定してくれます。

GitHub - fnando/browser: Do some browser detection with Ruby. Includes ActionController integration.

使用方法

まずは、gemを導入します。

gem 'browser'

あとはリファレンスに従って条件文を記述するだけです。

#Chromeかの判定
if browser. chrome?

#モバイル端末か判定
if browser.device.mobile?

参考情報

GitHub - fnando/browser: Do some browser detection with Ruby. Includes ActionController integration.

《今日の学習進捗(3年以内に10000時間に向けて)》

先日公開したサービスのバグ修正を行っているが、改めて自分の作成したテストケースの想定が甘かったと感じている。

バリデーションが正常に働くかといった異常系のテストは十分に盛り込めたと思うが、正常系のテストについては、作業効率を重視して、簡単な文章の登録だけにしてしまったことがエラーを見過ごしてしまった原因の一つだと考えている。

今後テストケースを製作する際は、実践に出来るだけ違いデータを用意することを意識したい。

またCSV出力周りでもエラーが発生したが、文字コード正規表現に関する知見が足りず、上手く対処方法を見出せなかった。改めて基礎知識の習得に励みたい。

学習開始からの期間 :189日
今日までの合計時間:1836h
一日あたりの平均学習時間:9.8h
今日までに到達すべき目標時間:1726h
目標との解離:110h
「10,000時間」まで、

残り・・・「8164時間!」