なるようになるブログ

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

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

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

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

activesupport/CHANGELOG.md


Unfreeze interpolated string because it’s useless. https://github.com/rails/rails/commit/c61488b4adf987979e229ebcfb3ed78814efd32a

actionpack/lib/abstract_controller/caching/fragments.rbactionview/lib/action_view/template.rbの修正です。

Action View及びfragment cacheで使用するinstrumentのkeyをfreezeしていたのを、freezeしないよう修正しています。

動的に文字列を生成しており、freezeする意味が無い為、との事です。


Merge pull request #28069 from st0012/change-back-frozen-string https://github.com/rails/rails/commit/978e097375c17bf694374792b5f33b5fc6c9f4b5


Merge pull request #28013 from iguchi1124/fix-missing-namespace-wrapper

railties/lib/rails/generators/test_unit/integration/templates/integration_test.rbの修正です。

generatorでIntegration Testを生成する際に、namespaceを設定するよう修正しています。


Add assertion to polymorphic_routes_test.rb

actionview/test/activerecord/polymorphic_routes_test.rbの修正です。

polymorphic routesについてのテストに、polymorphic_pathメソッドを使用した場合のテストを追加しています。


Set correct “routes” in tests cases

Action Pack及びAction Viewのテストの修正です。

routesを表すのに不適切な値(pathではなくただの文字列)を使用していた箇所があったのを、適切な値を使用するよう修正しています。


Merge pull request #28070 from kamipo/improve_create_table_force_true

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

create_tableメソッドにforceオプションを指定した場合に、data_source_exists?メソッドで対象のテーブルがあるかどうかチェックしてからdrop_tableしていたのを、data_source_exists?でチェックする代わりに、drop_tableメソッドにif_exists: trueオプションを渡すよう修正しています。


Merge pull request #28059 from y-yagi/do_not_run_git_init_inside_test_dummy

railties/lib/rails/generators/rails/plugin/plugin_generator.rbの修正です。

test用のdummy applicationではgit initを実行しないよう修正しています。


Import rails-ujs v0.1.0 from rails/rails-ujs

railsブランチの中のrails-ujsのコードを、最新の内容(https://github.com/rails/rails-ujs)に更新しています。この二重管理、続けるのかなあ。


Merge pull request #27925 from robin850/hwia-removal

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

top levelのHashWithIndifferentAccessがdeprecateになりました。今後は必ずActiveSupport::HashWithIndifferentAccessを使う必要があります。

元々top levelのHashWithIndifferentAccessは下位互換性の為に残してあった、かつ、Ruby 2.5からトップレベルの定数は参照されなくなりどっちにしろコードの修正は発生すると思われるので、このタイミングでdeprecateにしたようです。


[ci skip] Update Guides to use macOS instead of Mac OS X

rails guideの修正です。Mac OS XmacOSにまとめて修正しています。

rails commit log流し読み(2017/02/19)

2017/02/19分のコミットです。

CHANGELOGへの追加はありませんでした。


Share the common implementation between apps and engines.

railties/lib/rails/command/actions.rbの修正です。

require_environment!メソッドを呼び出す処理がrails applicationとrails engineで別々に定義されていたのですが、処理がほぼ同じ内容だった為、一つにマージしています。

rails commit log流し読み(2017/02/18)

2017/02/18分のコミットです。

CHANGELOGへの追加はありませんでした。


Change engines guide to demonstrate maintained forum

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

rails engineを使用しているgemのサンプルからForemを削除し、Threddedを追加しています。Foremはもうメンテされておらず、サンプルとして不適切だろう、という事で削除されています。


Merge pull request #28053 from kamipo/remove_doc

activemodel/lib/active_model/validations/numericality.rbのdocの修正です。

各メソッドに設定されていた:doc:を削除しています。クラス自体に:nodoc:が設定されているため。


Remove deprecate passing string to :if and :unless conditional options [ci skip]

rails guideのActive Record CallbacksActive Record Validationsの修正です。

Remove deprecated passing string to define callbackでdeprecateになった、callback、validationの:if:uselssオプションにStringを渡した場合についての説明を削除していまs.

rails commit log流し読み(2017/02/17)

2017/02/17分のコミットです。

CHANGELOGへの追加はありませんでした。


Fix doc in Multibyte::Chars [ci skip]

ActiveSupport::Multibyte::Charsクラスの各メソッドのdoc内のexampleの戻り値が誤っている箇所があったのを修正、メソッドの呼び出しが不足しているのを追加、等をまとめて行っています。


Fix typo in I18n Guide [ci skip]

rails guideのRails Internationalization (I18n) APIの修正です。

configconfingにタイポしている箇所があったのを修正しています。

rails commit log流し読み(2017/02/16)

2017/02/16分のコミットです。

CHANGELOGへの追加はありませんでした。


Indicate units of ‘limit’ in ‘Integer’ error message.

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

Integer typeに指定出来る範囲外の値を指定した場合のエラーメッセージに、単位の情報を含むよう修正しています。


Merge pull request #27993 from koic/fix_test_ar_value_too_long_using_oracle

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

uniqueness validationのlimit以上の値を指定した場合のテストで、ActiveRecord::ValueTooLongがraiseされるadapterのリストにOracleAdapterを追加しています。


change ActiveModel::Validation to ActiveModel::Validations in comments

Active Modelのdocの修正です。

各docでActiveModel::ValidationsActiveModel::Validationにタイポしていたのを修正しています。

rails commit log流し読み(2017/02/15)

2017/02/15分のコミットです。

CHANGELOGへの追加はありませんでした。


Merge pull request #27605 from mtsmfm/fix-generator-command-for-nested-rails-engine-take-2

railties/lib/rails/generators/named_base.rbrailties/lib/rails/generators/test_unit/scaffold/scaffold_generator.rbの修正です。

名前がネストしたrails engineで、generatorが生成するファイルのパスに誤りがあったのを修正しています。

例えばbukkits-adminという名前のrails engineだった場合、bin/rails g scaffold User name:string age:integerを実行した場合、bukkits-admin/app/controllers/bukkits/admin/users_controller.rbというファイルが生成されるべきが、bukkits-admin/app/controllers/bukkits/users_controller.rbというファイル(admin部分がロストしている)が生成されてしまっていたのを修正しています。


Remove redundant namespaces from sample code of deprecated_method_warning [ci skip]

activesupport/lib/active_support/deprecation/reporting.rbのdocの修正です。

deprecated_method_warningメソッドのdoc内のexampleコードから、不要なnamespaceを削除しています。deprecated_method_warningメソッドはprivateメソッドで、外から呼べるメソッドでは無いため、namespaceは不要な為。

rails commit log流し読み(2017/02/14)

2017/02/14分のコミットです。

CHANGELOGへの追加はありませんでした。


Merge pull request #26655 from kamipo/fix_remove_expression_index

Active Recordの修正です。

expression indexesに対してremove_indexメソッドを実行した場合にエラーになってしまうバグがあったのを修正しています。


Fix rubocop violations

activerecord/test/schema/postgresql_specific_schema.rbの修正です。

rubocopのstyle指定に違反している箇所があったのを修正しています。


Add default_index_type? to the generic schema dumper doesn’t have the knowledge about an index type

Active Recordの修正です。

connection adapterにdefaultのindex typeかどうかをチェックする為のdefault_index_type?メソッドを追加し、schema dumperそのメソッドを使用するよう修正しています。connection adapter毎の差異をschem dumperで意識しないで済むようにする為、のようです。


actionmailer/lib/action_mailer/base.rbactionpack/lib/abstract_controller/caching/fragments.rbactionpack/lib/action_controller/caching.rbの修正です。

fragment cacheで使用するinstrument nameをfreezeするよう修正しています。


Fix the return of deprecate_methods in doc [ci skip]

activesupport/lib/active_support/deprecation/method_wrappers.rbのdocの修正です。

Deprecation::MethodWrapper#deprecate_methodsメソッドのdoc内のdeprecate_methodsのexampleの戻り値が実際の戻り値と異なっていたのを修正しています。


Merge pull request #27961 from jordanlewis/simplify-postgres-primary-keys-v2

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

PostgreSQLでprimary keyを取得する為のqueryのリファクタリングを行なっています(Part 2)。元々はpg_constraint + pg_attributeから取得していたのをinformation_schemaの key_column_usage view及びtable_constraints viewを使用するよう修正しています。


Not ants were harmed! ����

activesupport/lib/active_support/core_ext/module/delegation.rbのdocの修正です。

delegate_missing_toメソッドのdocのタイポを修正しています。


Should keep the primary key column order

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

先にコミットされたPostgreSQLでprimary keyを取得する為のqueryのリファクタリングで、primary keyのcolumn orderが維持されなくなっていたのを、再度column orderを維持するよう修正しています。


Use ActiveRecord bigint type, not SQL literal bigint

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

foreign keyのテストでprimary keyにbigintを指定するのに、SQL literalでbigintを指定(pk BIGINT PRIMARY KEY)していたのを、Active Recordのbigint typeを使用するよう修正しています。

Oracleにはbigintが無く、SQLでbigintを指定するとエラーになってしまう為。


Remove unused DdlHelper in ForeignKeyTest

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

foreign keyのtestから、使用していないDblHelper moduleを削除しています。