なるようになるブログ

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

rails commit log流し読み(2017/11/13)

2017/11/13分のコミットです。

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

activerecord/CHANGELOG.md


Deprecate encrypted secrets in favor of credentials.

railtiesの修正です。

secrets:setupを実行した際、secrets:setupはdeprecateである旨メッセージを表示するよう修正しています。

$ EDITOR=vim ./bin/rails secrets:setup
Encrypted secrets is deprecated in favor of credentials. Run:
bin/rails credentials --help

secretsの編集はまだ出来る状態ですが、基本的にはcredentialsの方を使うのが推奨、という状態です。


Revert displaying master key generation info on rails new.

railtiesの修正です。

rails newで新規にアプリを作成した際に、master key生成についての詳細情報(生成に関するメッセージ、及び、生成したkey)を表示していたのを、表示しないよう修正しています。

master keyの生成はアプリのデフォルトの挙動なので、その挙動をわざわざ誇示する必要は無い為、との事です。


Merge pull request #30791 from felipecvo/nested-attributes-doc

activerecord/lib/active_record/nested_attributes.rbのdocの修正です。

accepts_nested_attributes_forメソッドのdocにupdate_onlyオプションを指定した場合の説明を追加しています。


Merge pull request #30773 from y-yagi/fix_30765

activerecord/lib/active_record/migration.rbrailties/lib/rails/tasks/engine.rakeの修正です。

rails engineでtest dbの自動同期が正しく動作していなかったのを修正しています。


Action Cable: run Redis tests against a default config without a password

.travis.ymlactioncable/test/subscription_adapter/redis_test.rbの修正です。

Action CableのテストでRedisを使用する際に、Redisの接続情報にpasswordを指定いたのを、passwordの指定しないよう修正しています。

cable.ymlにpasswordを指定出来るようにした対応(Merge pull request #29528 from padi/actioncable_redis_alt_config_with_password)の動作確認用にpasswordを指定していたのですが、Active SupportにRedis cache storeのサポートを追加する対応のテストをシンプルにする為に、passwordを無しにしたかったので修正したとの事です。cable.ymlの方のテストはstubで確認するようにしています。


Verify credentials format before saving

activesupport/lib/active_support/encrypted_configuration.rbの修正です。

credentialsを保存する前に、フォーマットがYAMLとして正しいか確認するよう修正しています。

不正なフォーマットの値が保存されてしまうと、credentials編集時にエラーになって編集出来なくなってしまう為、保存時にもフォーマットのチェック行うようにしています。


Move touch method from Skipping Callbacks section to Running Callbacks section [ci skip]

rails guideのActive Record Callbacksの修正です。

callbackがスキップされるメソッドの一覧にtouchメソッドがのっていたのですが、実際はtouchメソッド実行後はcallbackは実行される為、callbackが実行されるメソッドの一覧の方に移動しています。


Add new error class StatementTimeout which will be raised when statement timeout exceeded (#31129)

Active Recordの修正です。

statement timeoutを超過した場合にraiseするようのStatementTimeoutクラスを追加、及び、実際に超過した場合にStatementTimeoutをraiseするよう修正しています。


Return a non zero code when can not connect to redis in CI

activejob/test/support/integration/adapters/resque.rbactivejob/test/support/integration/adapters/sidekiq.rbの修正です。

sidekiq及びresqueを使用してたintegrationテストでRedisに接続出来ないとき、CIではnon zeroを返すよう修正しています。

redisに接続出来ないのは基本的に何か設定が間違えているときなので、その状態をすぐ検知出来るようにする為。


Make sidekiq and resque integration tests work in CI

activejob/test/support/integration/adapters/resque.rbactivejob/test/support/integration/adapters/sidekiq.rbの修正です。

Redisに接続する際にpasswordを指定していたのを、指定しないよう修正しています。

Action Cable: run Redis tests against a default config without a passwordの対応でCI上のRedisの設定からpasswordが削除された為、passwordの指定があると接続出来ない為。