kurotaky/mameblo — pull request #65 by banyan (2012-11-21 18:14:26+00:00)
Title: Fixing #52

すごい長い文章書いて完成直前にブラウザとじてしまった...
ショックすぎる...
ということでショートバージョンで...

---

## 1. 破壊的メソッド String#downcase! の挙動

```
"aa".downcase! => "aa"
"AA".downcase! => "aa"
```

という挙動になるのかなーと思ったのですが

```
"aa".downcase! => nil
"AA".downcase! => "aa"
```

ということで全て nil が入っていた。
@kurotaky はしっかり、テストケースも書いてたけど、

```
"AA".downcase! => "aa"
```

しか書いてなかったため、挙動はうまくいってるようにみえた

* ちゃんと email が入ること、というテストがあるか
* String#downcase を使っておけばよかった

が、自戒も込めて before_* after_* という callback で値を操作する時は、ちゃんとテストケース書いたほうがいいね...

## 2. そもそも String#downcase する必要があるか

```
$ mail -s "foo" AMEUTAu@GMAIl.coM
Cc:
hoge
hoge
```

これでもメールは届くので、実際には大文字・小文字の区別はついてないのが現状。

http://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9#cite_note-3

ということでそもそもいらないのでは、ということで消しました。

https://github.com/KitaitiMakoto さんのメールも変換しても結局は届く。