なるようになるブログ

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

rails commit log流し読み(2014/08/01)

2014/08/01分のコミットです。

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


Refactor join_keys to remove complex conditionals

activerecord/lib/active_record/associations/join_dependency/join_association.rbactiverecord/lib/active_record/reflection.rbの修正です。

join_keys処理のリファクタリングです。

部分部分をメソッドに切り出してリファクタリングを行っています。


Push options check up so we can simplify internal methods

actionpack/lib/action_dispatch/http/url.rbの修正です。

メソッドの中で行っていた引数のチェック処理を、メソッドの呼び出し元で行うよう修正しています。


Simplify conditional

actionpack/lib/action_dispatch/http/url.rbの修正です。

三項演算子を使用していた箇所をunlessを使用するよう修正しています。


Rename variable to better show its intent

actionpack/lib/action_dispatch/http/url.rbの修正です。

変数名をresultからpathに修正しています。より適切な名前にリファクタリング


Only concatenate path if it was given rather than converting blindly

actionpack/lib/action_dispatch/http/url.rbの修正です。

変換処理の前に、値の存在チェックを行うよう修正しています。

-          path << options[:path].to_s
+          path << options[:path] if options.key?(:path) 

Do not reassign variable when mutation is happening

actionpack/lib/action_dispatch/http/url.rbの修正です。

不要な変数への値の設定処理を削除しています。


Realign assignments :scissors:

actionpack/lib/action_dispatch/http/url.rbの修正です。

不要スペースの削除。


Add ActiveRecord::Tasks::DatabaseTasks.migrate

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

ActiveRecord::Tasks::DatabaseTasks.migratetaskを追加しています。

activerecord/lib/active_record/railties/databases.rakeで定義されていた処理をメソッドに切り出した形です。テストはこの方がしやすそう。


Clarify how the ConnectionHandler works

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

connection poolについての説明を修正しています。サンプルも付いて大分分り易くなっています。

doc抜粋。

class Book < ActiveRecord::Base
  establish_connection "library_db"
end

class ScaryBook < Book
end

class GoodBook < Book
end
#
# And a database.yml that looked like this:

development:
  database: my_application
  host: localhost

library_db:
  database: library
  host: some.library.org

do a hash lookup for collision detection

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

routesの検索処理をメソッドに切り出しています。


invert check so we fail faster

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

candidateの値のチェック処理の順番を逆にしています。

-                candidate unless @set.named_routes.key?(candidate) || candidate !~ /\A[_a-z]/i
+                candidate unless candidate !~ /\A[_a-z]/i || @set.named_routes.key?(candidate)

失敗するのは早いほうが良い、という事なので、チェックにひっかかりそうな方から先に行うようにしたようです。


Remove being/number methods from transaction class

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

Transactionクラスからbeginnumberメソッドを削除しています。Transaction numberについては、呼び出し元のTransactionManagerクラスで設定するように修正しています。


Remove parent on Transaction object

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

Transactionクラスからparentを削除しています。元々numberメソッドで使用していたのですが、numberメソッドの削除に伴い、不要になったようです。


Make ClosedTransaction a null object

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

ClosedTransactionクラス生成時に引数に@connectionを渡していたのを、引数無しにしています。元々@connectionは使用してなかった模様。


Move TransactionManager to bottom of class

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

TransactionManagerクラスをファイルの最下部に移動しています。


Replace ClosedTransaction with NullTransaction

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

ClosedTransactionNullTransactionに名前を変更しています。


use get instead of accessing the named routes internals

actionpack/lib/action_dispatch/routing/mapper.rbの修正です。

named_routesから値を取得するのに、getメソッドを使用するよう修正しています。


Rename method for clarity

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

is_default_value?メソッドdefault_value?メソッドにリネームしています。


Use available method rather than macro name checking

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

macroのチェック処理にbelongs_to?メソッドを使用するよう修正しています。