コンユウメモ @kon_yu

作ったガラクタとか、旅行とかの話

Rack_dev_markで開発環境と本番環境を視覚で判断しよう

検証環境だと思って操作したら実は本番環境で、ユーザさんの情報を誤って変更しそうになったことはないだろうか? このようなヒヤリハットを防ぎたい。 ヒヤリハットと言う言葉を今どき使うかどうかは分からないが、rack_dev_mark と言うGemでいい感じだ。

一言で言うと、ブラウザの画面端に起動時のRAILS_ENVを表示して、どの環境の画面か一目でわかるのだ Rackアプリケーションなら動くのでsinatoraでも動くはず

このように右上に赤色のリボンを表示することができる

f:id:kon_yu:20141031160349p:plain

マウスオーバーすると半透明になり

f:id:kon_yu:20141031160346p:plain

クリックするとリボンが消えるので、リボンの裏に隠れたリンクも押せる

Railsでの設定方法

local環境のdevelopmetと検証環境のstagingで有効にする

設定はいたって簡単である

Gemfile

group :staging, :development do
  # Dev環境の時に表示を出すgem
  gem 'rack-dev-mark'
end

development.rb

Rails.application.configure do  
 # rack_dev_markの有効化
  config.rack_dev_mark.enable = true
  # リボンの色と位置の指定
  # オプションの指定 position: 'right'で右上、 color: 'red'  でリボンを赤色に指定
  config.rack_dev_mark.theme = [:title, Rack::DevMark::Theme::GithubForkRibbon.new(position: 'right', fixed: true, color: 'red')]
end

staging.rb

Rails.application.configure do
 # rack_dev_markの有効化
  config.rack_dev_mark.enable = true
  # リボンの色と位置の指定
  # オプションの指定 position: 'right'で右上、 color: 'green'  でリボンを緑色に指定
  config.rack_dev_mark.theme = [:title, Rack::DevMark::Theme::GithubForkRibbon.new(position: 'right', fixed: true, color: 'green')]
end

環境によってリボンの色を変えるといい感じに直感的にわかる

参考

作者の@dtaniwakiさんのQiita http://qiita.com/dtaniwaki/items/dedbf6068ba4155cadae

リボンの位置や色の設定などオプションの設定など https://github.com/dtaniwaki/rack-dev-mark/blob/master/THEME.md

サンプルのアプリのほうが実際どこに何を書いたらいいかわかりやすい https://github.com/dtaniwaki/rack-dev-mark-sample-app