なるようになるブログ

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

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

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

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


Merge pull request #28788 from tjschuck/require_as_notifications_in_cache

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

active_support/notificationsのrequireを追加しています。が、直後にrevertされています。


Revert “Merge pull request #28788 from tjschuck/require_as_notifications_in_cache”

という訳で、直前のrequireをrevertしています。

ActiveSupport::Notificationsはトップレベルのactive_support.rbでautoloadするよう設定されており、個別にrequireする必要は無い為。


Explicitly require AS::Time in AS::Testing::TimeHelpers

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

不足していたactive_support/core_ext/time/calculationsのrequireを追加しています。


Merge pull request #28161 from bogdanvlviv/add_test_attributes

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

ActiveRecord::AttributeMethods#attributesメソッドについてのテストを追加しています。


Remove datetime fields from helper list [ci skip]

rails guideのForm Helpersの修正です。

Other Helpers of Interestの項にあるヘルパーメソッドの一覧からdatetime fieldsを削除しています。Change datetime to datetime-local helper tagの対応でdatetime_fielddatetime_local_fieldのaliasになり、datetime fieldsを生成する為のメソッドは今は無い為。


Use quoted_scope rather than @config[:database] to respect current database

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

MySQL::ColumnDumper#extract_expression_for_virtual_columnメソッドでschema、table名のescap処理にquote用のラッパーメソッド(quoted_scope)を使用するよう修正しています。


Fix extract_expression_for_virtual_column for MariaDB

ctiverecord/lib/active_record/connection_adapters/mysql/schema_dumper.rbの修正です。

MySQL::ColumnDumper#extract_expression_for_virtual_columnメソッドでMariaDBの場合のexpression取得用正規表現COLLATE句のチェック処理を追加しています。

          def extract_expression_for_virtual_column(column)
             if mariadb?
               create_table_info = create_table_info(column.table_name)
-              if %r/#{quote_column_name(column.name)} #{Regexp.quote(column.sql_type)} AS \((?<expression>.+?)\) #{column.extra}/m =~ create_table_info
+              if %r/#{quote_column_name(column.name)} #{Regexp.quote(column.sql_type)}(?: COLLATE \w+)? AS \((?<expression>.+?)\) #{column.extra}/ =~ create_table_info
                 $~[:expression].inspect
               end