Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

2013-08-14から1日間の記事一覧

Ruby on Rails | metric_fu | Rails Best Practices | use query attribute

概要 use query attributeへの対応 詳細 Railsでモデルの属性に対して、blank?やpresent?を利用する際は 以下のように記述を省略できる model.column? 修正前 if model.column.blank? if model.column.present? 修正後 unless model.column? if model?

Ruby on Rails | metric_fu | Rails Best Practices | Simplify render in views

概要 Simplify render in viewsへの対応 詳細 partialのrenderを指定する際に、:partialの部分や、 optionの:localsの部分は省略可能、という警告。 修正前 = render :partial => "yes_no_all_radio", :locals => {object_name: "user", property_name: "adm…

Ruby on Rails | metric_fu | Rails Best Practices | simplify render in controllers

概要 simplify render in controllersへの対応 詳細 Controller内でのrender指定時にactionのみ指定する場合は、明示的にハッシュのキーを指定しなくても よいので記述を簡潔にできる、という警告。 修正前 render :action => 'index' 修正後 render 'index'

Ruby on Rails | metric_fu | Rails Best Practices | replace instance variable with local variable

概要 replace instance variable with local variableへの対応 詳細 particalなビューを利用する場合に、インスタンス変数の利用箇所を ローカル変数に置き換えることで再利用性を高めるように、という警告。 render :locals => {key: value, key: value ・…

Sublime Text2 | 80文字の位置にlineを表示する

概要 80文字の位置にlineを表示する 内容 Rubyの一般的な規約では、1行あたりの文字数は80文字以内です。 そこで、80文字の位置に縦線を表示するように設定します。 設定 Setting User "rulers": [80], 画像 右端の80文字の位置に縦線が表示されています。 …

メタプログラミングRuby | 魔術 | コンテキスト探査機

概要 コンテキスト探査機 内容 instance_evalを利用することによって、privateフィールド等、 オブジェクトのコンテキストにある情報にアクセスします。 サンプル # encoding: utf-8 class Hoge def initialize @secret_hoge = "秘密のほげ" end end hoge = …

メタプログラミングRuby | 魔術 | コードプロセッサー

概要 コードプロセッサー 内容 コードプロセッサーとは外部ソースにあるコード文字列を処理する手法です。 サンプル プロセッサー本体 # encoding: utf-8 class StreetFighter class << self alias zero instance_eval def 波動拳 puts "236P" end def 昇竜…