なるようになるブログ

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

rails commit log流し読み(2015/05/31)

2015/05/31分のコミットです。

CHANGELOGにのったコミットは以下の通りです。

activerecord/CHANGELOG.md


Add CHANGELOG entry for #17654 [ci skip]

activerecord/CHANGELOG.mdの修正です。

Do not set sql_mode if strict: :default is specified. の対応について、CHANGELOGに追記しています。


Add docs and changelog entry for 73aab03 [ci skip]

activerecord/CHANGELOG.mdactiverecord/lib/active_record/attributes.rbのdocの修正です。

Allow proc defaults with the Attributes API の対応について、CHANGELOGに追記、及びattributes APIのdocにprocを指定した場合のサンプルを追加しています。


Ensure symbols passed to select are always quoted

activerecord/lib/active_record/relation/query_methods.rbの修正です。

select queryにsymbolを渡す際、必ずquote処理を行うよう修正しています。

通常のカラム名であればquote処理が正しく行われていたのですが、テーブル名にシンボルが指定されていた場合にquote処理が漏れてしまっていたようです。

issueより。

ActiveRecord::Schema.define do
  create_table :test, force: true  do |t|
    t.integer :desc
  end
end

class Test < ActiveRecord::Base
  self.table_name = :test

  default_scope { select(:desc) }
end

class BugTest < Minitest::Test
  def test_from_escaping_attributes
    Test.create!(desc: 10)
    Test.create!(desc: 11)

    result = Test.from(Test.where(desc: 10), Test.table_name)

    result.to_a.size # => SELECT desc FROM (SELECT `test`.`desc` FROM `test` WHERE `test`.`desc` = 10) test
  end
end

Attempt to fix travis failures

.travis.ymlの修正です。

Travisで使用しているSQLiteが古いバージョンだったらしく、最新のSQLiteをインストールするようaddonsにsqlite3を追加しています。


minor formatting changes in changelogs. [ci skip]

CHANGELOGの修正です。フォーマットの修正を行っています。


no rails command short-cuts in the getting-started guide. [ci skip]

rails guideのGetting Started with Railsの修正です。

Laying down the ground workの項で、controllerを生成するショートカットコマンドであるgを使用していたのを、フルコマンドであるgenerateを使用するよう修正しています。そちらの方が、意味が伝われるだろう、との事です。