なるようになるブログ

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

rails commit log流し読み(2016/02/20)

2016/02/20分のコミットです。

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

actionview/CHANGELOG.md


Merge pull request #23709 from jankeesvw/set-action-cable-logging-to-debug

actioncable/lib/action_cable/channel/base.rbの修正です。

ActionCable::Channel::Base#transmitメソッドでinfoのログを出力する際、引数のdataをinspectした結果、300文字でtruncateするよう修正しています。

         def transmit(data, via: nil)
 -          logger.info "#{self.class.name} transmitting #{data.inspect}".tap { |m| m << " (via #{via})" if via }
 +          logger.info "#{self.class.name} transmitting #{data.inspect.truncate(300)}".tap { |m| m << " (via #{via})" if via }
            connection.transmit ActiveSupport::JSON.encode(identifier: @identifier, message: data)
          end

そのまま出力すると大変長くなってしまう事がある為、300文字で切るようにした、との事です。


Fix button_to's params option to support nested names.

actionview/lib/action_view/helpers/url_helper.rbの修正です。

button_toメソッドparamsオプションにネストしたArray / Hashを渡した場合に、name属性が正しく生成されないバグがあったのを修正しています。


Add methods to array delegation from Relation

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

ActiveRecord::RelationからArrayにdelegationするメソッドの一覧に#in_groups, #in_groups_of, #shuffle および #splitを戻しています。


Merge pull request #23733 from bquorning/actioncontroller-parameters-equality

actionpack/lib/action_controller/metal/strong_parameters.rbの修正です。

ActionController::Parameters#==メソッドの引数にHashを渡すのがdeprecateになりました。

Rails 5.0までは正常に比較処理が行われますが、Rails 5.1以降は、ActionController::Parameters#newActionController::Parametersに変換してから渡す必要があります。


eliminate warnings about multiple primary keys on habtm join tables

activerecord/lib/active_record/associations/builder/has_and_belongs_to_many.rbの修正です。

has_and_belongs_to_manyを使用している場合に、Railscomposite primary keyをサポートしていない旨のワーニングメッセージが表示されてしまっていたのを、表示されないよう修正しています。

has_and_belongs_to_manyを使用している場合、中間テーブルはidを保持するカラムを2つ保持する事になる為、ワーニングが出てしまっていたようです。HasAndBelongsToManyクラスでprimary_keyメソッドがfalseを返すようにして対応しています。


Fixed a typo

README.mdの修正です。

Railsコンポーネントについて説明している箇所でタイポしている箇所があったのを修正しています。


fix typo

activerecord/test/cases/associations/has_and_belongs_to_many_associations_test.rbの修正です。

テスト名でcompositecompositにタイポしている箇所があったのを修正しています。


Always validate record if validating a virtual attribute

Active Recordの修正です。

modelにvirtual attributeがある場合に、必ずvalidation処理が行われるよう修正しています。

Fix validations on child record when record parent has validate: falseで値の更新が無い場合は不要なvalidationは行われないよう修正したのですが、virtual attribute(attr_accessor等で追加したattribute)については、更新を正しく検知する事が出来ず、更新された場合でもvalidationが行われない、という問題が発生してしまっていた為、virtual attributeを使用している場合は、必ずvalidation処理が行われるよう対応したとの事です。