なるようになるブログ

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

rails commit log流し読み(2022/05/17)

2022/05/17分のコミットです。

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

actioncable/CHANGELOG.md


Address QueryCacheTest#test_query_cache_does_not_allow_sql_key_mutation failure

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

QueryCacheTest#test_query_cache_does_not_allow_sql_key_mutationがランダムにfailしてしまっていたのを修正しています。


Adds test coverage for #attach method behaviour in activestorage

activestorage/test/models/attached/many_test.rbactivestorage/test/models/attached/one_test.rbの修正です。

attach`メソッドでrecordを保存した際に保存したblob(s)を返す事を保証する為のテストを追加しています。


fix: action cable stream_test errors

actioncable/test/connection/stream_test.rbの修正です。

stream_testrack.hijack_ioStringIOを指定していたのを、実際のIO(File)を指定するよう修正しています。StringIOだとNIO reactorを追加しようとした際にエラーになってしまう為。


feat: action cable connection callbacks

actioncable/lib/action_cable/connection/base.rbactioncable/lib/action_cable/connection/callbacks.rbの修正です。

ActionCable::Base::Connectionにcommand実行時に処理を行うcallback(before_command, after_command, と around_command)を指定出来るよう修正しています。


Merge pull request #45072 from palkan/feat/ac-remote-disconnect-notice

Action Cableの修正です。

server側でdisconnectを行う際に、実際にdisconnectが行われる前にclientにdisconnect処理が行われる旨メッセージを送信するよう修正しています。


Merge pull request #42981 from ghiculescu/as-eager-more-methods-3

activestorage/app/models/active_storage/attachment.rbactivestorage/lib/active_storage/attached/model.rbの修正です。

Active Storageのeager loadで、variantをloadする際にimageblobもloadするよう修正しています。

rails commit log流し読み(2022/05/16)

2022/05/16分のコミットです。

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

activestorage/CHANGELOG.md


Fixes development Action Mailbox new mail form

actionmailbox/app/controllers/rails/conductor/action_mailbox/inbound_emails_controller.rbの修正です。

inbound emails conductorで空のattachmentsを指定した場合にエラーになってしまうバグがあったのを修正しています。


Merge pull request #45099 from jonathanhefner/postgres-unbounded-time-ranges

activerecord/lib/active_record/connection_adapters/postgresql/oid/range.rbの修正です。

PostgreSQLのrange型のattributeにunbounded time rangeを指定出来るよう修正しています。


Fixes ActiveStorage proxy downloads of files over 5mb in S3-like storage services

activestorage/app/controllers/concerns/active_storage/streaming.rbの修正です。

Active StorageでS3(及びS3コンパチのサービス)からproxy modeで5MB以上のファイルをダウンロードした際に、ファイルに不要なデータを追加されてしまう、またはダウンロード処理がランダムで停止してしまうバグがあったのを修正しています。

rails commit log流し読み(2022/05/15)

2022/05/15分のコミットです。

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

activesupport/CHANGELOG.md


Merge pull request #45089 from fatkodima/fix-opclass-parsing-postgres

activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rbの修正です。

PostgreSQL_opsで終わらないopclassを使用している場合に、schema dumpに誤ったopclassの値が出力されてしまうバグがあったのを修正しています。


Fix CHANGELOG alignment [ci-skip]

activerecord/CHANGELOG.mdの修正です。

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


Include the unexpected class in InvalidParameterKey message

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

InvalidParameterKeyのエラーメッセージに、エラーになったkeyの型を含むよう修正しています。


Merge pull request #42909 from joeyparis/main

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

ActiveSupport::Cache::RedisCacheStoreのinitialize処理でskip_nilオプションを指定出来るよう修正しています。

rails commit log流し読み(2022/05/14)

2022/05/14分のコミットです。

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

railties/CHANGELOG.md

activerecord/CHANGELOG.md


Add --js and --skip-javascriptoptions torails new`

railtiesの修正です。

rails new--js--skip-jsオプションを追加しています。それぞれ、--javascript--skip-javascriptのalias。


Fix MySQL warning when creating Active Record's test databases

activerecord/Rakefileの修正です。

Railsのテスト用のMySQLのDBを作成する際に、passwordに関するwarningが出力されていたのを修正しています。


Merge pull request #45078 from Shopify/master-default-params-encoding

actionpack/lib/action_dispatch/request/utils.rbの修正です。

parametersのencodingの強制設定処理で、parametersがfrozen stringだった場合、encodingの設定処理を行わないよう修正しています。FrozenErrorでエラーになるのを避ける為。


Improve rails s error message when no server could be found.

railties/lib/rails/commands/server/server_command.rbの修正です。

rails server実行時に出力される、使用出来るサーバが無い場合のエラーメッセージで、サーバが何もロードされていない場合にpumaをGemfileに追加する旨表示するよう修正しています。


Add ability to ignore tables by regexp for SQL schema dumps

Active Recordの修正です。

SQL schema dumpのignoreするtableに、正規表現を使用出来るよう修正しています。

rails commit log流し読み(2022/05/13)

2022/05/13分のコミットです。

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

railties/CHANGELOG.md


Document that url_for can take classes

actionview/lib/action_view/routing_url_for.rbのdocの修正です。

url_forメソッドにClassを渡した場合のexampleを追加しています。


Fix rails test command to handle leading dot slash

railties/lib/rails/test_unit/runner.rbの修正です。

rails testにファイル名を指定 + ファイル名の先頭が.だった場合に、テスト全体が実行されてしまっていたのを、指定されたファイルのみテストを実行するよう修正しています。

rails commit log流し読み(2022/05/12)

2022/05/12分のコミットです。

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

activemodel/CHANGELOG.md

activesupport/CHANGELOG.md

activerecord/CHANGELOG.md


Stop autoclosing of PRs

.github/stale.ymlの修正です。

PRの自動クローズは行われず、自動クローズはissueについてのみ行うよう修正しています。


Provide pattern matching for ActiveModel

activemodel/lib/active_model/attribute_methods.rbの修正です。

Active Modelにdeconstruct_keysメソッドを追加しています。attributesに対するパターンマッチを出来るようにする為。

class Person < ActiveRecord::Base
end

def greeting_for(person)
  case person
  in { name: "Mary" }
    "Welcome back, Mary!"
  in { name: }
    "Welcome, stranger!"
  end
end

person = Person.new(name: "Mary")
greeting_for(person) # => "Welcome back, Mary!"

Merge pull request #44897 from claasz/patch-1

rails guideのAction View Form Helpersの修正です。

Nested Formsの項のattributesがnestしている場合のkeyの型についての説明を追加しています。


Fix MemoryStore#write(name, val, unless_exist: true) with expired entry

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

ActiveSupport::Cache::MemoryStore#writeunless_exist: trueオプションを指定した場合に、expireしたkeyのチェックが正しく行われないバグがあったのを修正しています。


Avoid query from calculations on contradictory relation

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

where(attr: []) + calculationsメソッドを実行した場合(e.g. User.where(id: []).count)にqueryを実行しないよう修正しています。where(attr: [])を実行した場合queryを実行せずに空の配列を返すようになっており、calculationsメソッドが指定された場合もqueryを実行する必要が無い為。


Update working_with_javascript_in_rails.md

rails guideのWorking with JavaScript in Railsの修正です。

Confirmationsの項にあるlink_toメソッドの例で生成されるHTMLが実際に生成される内容と異なっていたのを修正しています。

rails commit log流し読み(2022/05/11)

2022/05/11分のコミットです。

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

activemodel/CHANGELOG.md

activerecord/CHANGELOG.md


Merge pull request #44370 from mohits/patch-1

tasks/release_announcement_draft.erbの修正です。

gemのリリースアナウンス内のrelease tagへのリンクを、各gemの詳細の説明より前に入れるよう修正しています。


Use the CSS badge for the API docs as well

sdocのバージョンを2.4.0に更新、及び、badgeを表示するのに画像ではなくcssを使用するよう修正しています。


Merge pull request #45052 from yahonda/strscan_302

Gemfile.lockの修正です。

strscan gemのバージョンを3.0.2に更新しています。複数バージョンのstrscanがある場合に、inline templateが異なるバージョンのgemをロードしてしまいエラーになるという問題があり、その問題を避ける為にロードされるgemを最新のバージョンに統一する為。


Rename Guides "Contributions" section to "Contributing" [ci-skip]

guides/source/documents.yamlの修正です。

Contributing to Ruby on Rails guideのセクション名をContributionsからContributingに変更しています。


Fix getting column default from VIEW in mysql

activerecord/lib/active_record/connection_adapters/mysql/schema_statements.rbの修正です。

MySQLのVIEW対してqueryメソッドを実行するとNoMethodErrorがraiseしてしまうバグがあったのを修正しています。


Fix casting long strings to Date, Time or DateTime

Active Modelの修正です。

DateTime、または、DateTime型のattributeに129文字以上の文字列を指定した場合に、cast処理でArgumentErrorがraiseしてしまうバグがあったのを修正しています。


Allow using aliased attributes with insert_all/upsert_all

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

insert_all/upsert_allにaliased attributesを指定出来るよう修正しています。


Update guides/source/form_helpers.md

rails guideのAction View Form Helpersの修正です。

Nested Formsの項の言い回しを修正しています。