なるようになるブログ

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

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

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


PostgreSQL Timestamps always map to :datetime.

PostgreSQLでTimestamps型を指定した場合に、time zoneの指定のある/無しで内部の扱い方が違っていたのを、統一しています。

mytimestamp.simplified_type('timestamp without time zone')   # => :datetime
mytimestamp.simplified_type('timestamp(6) without time zone')  # => also :datetime (previously would be :timestamp)

:datetimeで統一するようにしたようです。


reset @arel when modifying a Relation in place.

Relationが変わってしまった場合に、cacheをリセットする為に、@arelを初期化するようにしています。その際、warningメッセージを出力するようになっています。

元となったissueから引用。

u = User.all
num = u.count
u.where! '1=0'
u.to_a

そもそもwhere!nodocが設定されているので、private APIなのですが、いや、呼べるじゃん、という議論がissueでされています。

まあ、Rubyだと、obj.sendしちゃと、結局呼べちゃうのでどうしようも無い気が。


No need for trailing slash on migration path.

migrationのテストコードの修正です。ファイルパスから、不要なトレイリングスラッシュを削除しています。

Causes a double // in Dir.glob that breaks Ruby 2.2-trunk.とコミットログに書いてあるのですが、ローカルで試したところ、動くような。はて。


move AR length validation tests into separate test-case.

ActiveRecordのlength validationのテストをactiverecord/test/cases/validations/length_validation_test.rbに切り出しています。