なるようになるブログ

読書感想文かrailsについてかrubyについてか

rails commit log流し読み(2014/04/19)

2014/04/19分のコミットです。

本日も大きなコミットは無しです。


remove warning

$VERBOSEをtrueにした際に、warningが出てたコードを修正しています。

-    assert_sql /LIKE '20!% !_reduction!_!!'/ do
+    assert_sql(/LIKE '20!% !_reduction!_!!'/) do

warningはwarning: ambiguous first argument; put parentheses or even spaces

/正規表現 or 除算の記号なので、最初の引数が曖昧になってしまう為、メソッド呼び出しを明確にする為、()でくくるようにしています。


@destroyed should always be set to false when an object is duped.

ActiveRecordのobjectをdupした際に、@destroyedfalseを設定するように対応しています。

developer = Developer.create(name: "Kuldeep")
developer.destroy
new_developer = developer.dup
new_developer.save

上記のような処理を行った場合に、new_developerは削除していないのに、元のdeveloperの値を引き継いてしまっている為、@destroyedがtrueになってしまっていました。バグ修正。


Fix inconsistent behavior from String#first/#last

String#first/#last の振る舞いを修正しています。

first/lastは引数に取得する文字数を指定出来ますが、指定した値が文字列の長さ以下の場合、新しいインスタンスが、以上の場合はselfが返っていました。

str = 'abcedf'
str.object_id           # 70208522046720

str.first(3).object_id  # 70208521985200
str.first(10).object_id # 70208522046720

str.last(3).object_id   # 70208521935140
str.last(10).object_id  # 70208522046720

振る舞いに矛盾があるので、引数に文字列の長さ以上の値を指定した場合も、新しいインスタンスが返るよう修正しています。


multibyte_conformance.rb --> multibyte_conformance_test.rb

ファイル名の修正です。修正ファイル名はログの通りです。テストコードなので、_testがついてなかったんですね。


"subhash" --> "sub-hash"

こちらもログの通りで、"subhash" -> "sub-hash"に修正します。docとテストメソッドの修正を行っています。


wrap methods in backticks [ci skip]

rails guideの修正です。バッククォートの対応が漏れていたメソッド名について、バッククォートで囲むよう修正しています。