なるようになるブログ

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

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

時間の感覚間違えてた気がする。04/07のコミットまだ増えてたので、追記して再掲。


Use SVG version of travis build status badge

READMEの修正。status badgeの画像をpng->svgに修正。

svgの方が、ファイルサイズが小さい、複数のサイズにスケールする、retina displayで綺麗に見える、から良いんじゃないか、との事。


Fix setup of adding _flash_types test

TESTの修正。flash typesをcontrollerに追加するテストで、グローバル変数を変更していたのを、テスト終了時に元の状態に戻すよう対応している。


Added OS X specific commands to installation guide

install guideの修正。OS XMySQL/PostgreSQLをインストールする際は、brewを使うよう推奨。


fix CollectionProxy delete_all documentation

コメントの修正。CollectionProxyでdelete_allを呼び出した際、元々は削除したレコードを配列で返す仕様だったのだが、少し前のコミットで何も返さないよう変更があったので、現状の仕様に合わせる形に修正。


Remove unused subclass_controller_with_flash_type_bar var from flash test

テストの修正。使用していない変数を削除。


make enums distinct per class

バグ修正。rails4.1.から導入されたActiveRecord::enumenumの値が他のクラスで定義された値で上書きされてしまうバグを修正。

enumを管理する箇所が定数になっていたのをローカル変数に修正している。これでクラス毎に別管理される。


Ignore order when doing count

execute_simple_calculationorderをscopeから外す修正。 PostgreSQLではgroup byされてないcolumnでorder by出来ないので、エラー回避の為にorderを外している。

コメントでは"PostgreSQL"となっているんだが、これ、SQLの規約的にそもそも駄目で、MySQLだけがおかしいんじゃなかったけ? 違ったかな。


Use connection-specific bytea escaping

PGconn.escape_byteaしているのを@connection.escape_byteaに修正している。

クラスメソッドのescape_byteaだと、別のconnectionで設定変更が行われた場合に影響を受けてしまうため、今接続しているconnectionのescape_byteaを使用するよにしているのか。

このテスト見てわかった。わかりやすいテスト大事ですねえ。助かる。


Build the reverse_order on its proper method

reverse orderをするかどうかをflagで管理していのをflagでの管理は止めて、メソッド無いbuildするよう修正。

基本問題無いが、reorderメソッドにnilを指定した場合の挙動が変わっている。

Example:
  Before
    Post.order(:name).reverse_order.reorder(nil)
    # => SELECT "posts".* FROM "posts"   ORDER BY "posts"."id" DESC

  After
    Post.order(:name).reverse_order.reorder(nil)
   # => SELECT "posts".* FROM "posts"

仕様変更っちゃ仕様変更か。


Remove useless begin..end

コミットログそのまま。使用してないbegin..endを削除している。


remove check for present? from delete_all

delete_allメソッドの引数のdependentのチェック処理を削除している。 dependentが空文字列なのはバグなので、空かどうかチェックする必要は無い、との事らしい。


Rails.application should be set inside before_configuration hook

Rails.applicationbefore_configuration hookの中で設定するゆう修正。

元々は設定されていたものが、このコミットで壊れてしまっていた模様。 この影響で幾つかのgemがRails 4.1 betaで動いていなかった問題がこれで解消する。