なるようになるブログ

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

rails commit log流し読み(2014/05/24)

2014/05/24分のコミットです。

CHANGELOGに新規にのったコミットはありませんでした。

ただ、rails 4.1.2向けにCHANGELOGの整理が行われています。そろそろかと。


Remove AD::Journey::Formatter#verify_required_parts!

actionpack/lib/action_dispatch/journey/formatter.rbの修正です。

使用していないverify_required_parts!メソッドを削除しています。


add test cases for negative position in Array#from

activesupport/test/core_ext/array_ext_test.rbの修正です。

Array#fromメソッドに負の値を指定した場合のテストケースを追加しています。


Remove duplicated setup in test

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

同一の前処理があったのを削除しています。


Simplify the code in schema cache

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

schema cacheについての処理をリファクタリングしています。


revert 96525d63

Array#toメソッドの修正です。

こちらのコミットで負の値を受けつけないよう対応されてたのをrevertして、負の値を受け付けるよう修正しています。

%w( a b c d ).to(-2) # => ["a", "b", "c"]

Move parsing of PG sql strings for defaults out of column

PostgreSQLのDBAdapterの修正です。

ActiveRecord::ConnectionAdapters::Column::PostgreSQLColumnクラスで行っていたSQLのパース処理をActiveRecord:::ConnectionAdapters::AbstractAdapter::PostgreSQLAdapterに移動しています。


Inline type cast method for PG points

PostgreSQLのDBAdapterの修正です。

activerecord/lib/active_record/connection_adapters/postgresql/cast.rbで行っていたpoint型への変換処理をactiverecord/lib/active_record/connection_adapters/postgresql/oid/point.rbに移動しています。


use the request object since we have it

actionpack/lib/action_dispatch/journey/router.rbの修正です。

hashのkeyをハードコーディングして使用していたのを避けて、requestオブジェクトを使用するよう修正しています。


remove NullRequest and just always pass a request class

actionpack/lib/action_dispatch/journey/router.rbの修正です。

NullReqクラスを削除して、必ずrequest classを使用するよう修正しています。


Change typecasting unit tests to test type objects directly activerecord/test/cases/column_test.rbの修正です。

activerecord/test/cases/column_test.rbに書かれていたtype_castメソッドに関するテストをactiverecord/test/cases/types_test.rbに移動しています。


find_routes only use the request, so stop passing env

actionpack/lib/action_dispatch/journey/router.rbの修正です。

元々find_routesメソッドは引数にenvを受けていたのですが、使用していないので、引数から削除しています。


use the accessors on the request object rather than touching env

actionpack/lib/action_dispatch/journey/router.rbの修正です。

envから値を取得していたい箇所をrequet objectか取得するよう修正しています。

hashのkeyをハードコーディングしている箇所を修正する為、ですかね。


[ci skip] Remove Duration#=== when we drop support for 2.0.0-p353

ActiveSupport::ProxyObject::Duration#===メソッドのdocの修正です。

2.0.0-p353でsegvするバグがあったらしく、その回避の為のコードらしく、2.0.0-p353のサポートが無くなったら消す旨コメントが追加されています。

2.0.0-p353のバグについては、PR参照。


extract request allocation from the main app serving routine

actionpack/lib/action_dispatch/journey/router.rbの修正です。

serveメソッドを作成して、requestの生成処理を切り出しています。


pull request allocation up one frame

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

request classのインスタンス生成処理を一つ上のフレームに移動しています。むう。


switch to the serve method so we can remove the request class (eventually)

actionpack/test/journey/router_test.rbの修正です。

make_reqメソッドを作成して、request classのインスタンス処理を、先に作成したmake_req + serveメソッドで行うよう修正しています。


pass the correct custom request to the recognize method

routingの修正です。ActionDispatch::Journey::Router#recognizeメソッドに渡す引数を修正しています。


decouple the router object from the request class

ActionDispatch::Journey::Routerクラスの修正です。

Routerクラスからrequest classを削除しています。


there is no formatter on the router object, so rm

ActionDispatch::Journey::Routerクラスの修正です。

Routerクラスからformatterを削除しています。


Remove Column#primary

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

Columnクラスから、primary変数を削除しています。

元々使っていたのですが、現状行っているリファクタリングで使わなくなったので、削除したとの事。


use Proc.new to automatically do parameter checking for us

ActionController::ActionDispatch::MiddlewareStack::MiddlewareStack#buildメソッドの修正です。

Proc.newを使用して、パラメータチェック処理を自動で出来るよう修正しています。


update docs to include html id for select_tag

ActionView::Helpers::FormTagHelper#select_tagメソッドのdocの修正です。

サンプルに引数をidを指定した場合を追加しています。


Remove duplicated parameter check on #where!

ActiveRecord::QueryMethods::WhereChain#where!メソッドの修正です。

最初にWhereChainかチェックする処理があったのですが、元々where!メソッドwhereメソッドとチェインして使うのを想定していた訳ではないようなので、WhereChainのチェック処理を削除しています。


Future port c8ddb61

各CHANGLOGの修正です。バッククォートを追加したり、改行を追加したりしています。4.1.2の為の準備ですかね。


glob_param is never used, so rm

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

使用していないglob_param変数を削除しています。


push options decomposition up so we can extract

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

分離出来るオプションを分離した、のかと。


default value is never used, so make it required

ActionDispatch::Routing::Mapper::Constraints.newメソッドの修正です。

requestにデフォルト引数としてRack::Requestを設定していたのですが、使用していないらしく、削除しています。


Constraints contructor should always return a Constraints object

ActionDispatch::Routing::Mapper::Constraintsクラスの修正です。Constraints.newメソッドを削除しています。


Remove special case in schema dumper for decimal without scale

DBAdapterの修正です。

DecimalWithoutScaleクラスを作成して、activerecord/lib/active_record/connection_adapters/abstract/schema_dumper.rbから特別なケースのソースを削除しています。


Fix router visualizer CSS and JS resources

actionpack/lib/action_dispatch/journey/visualizer/index.html.erbの修正です。

d3.jsとreset.cssのパスにraw.github.comを使用していたのを、cdnjs.cloudflare.comを使用するよう修正しています。

このファイル、routingがvisualで見れる、というものなのですが、現状は恐らく使用出来ないとの事。

サンプルはこちら

適当なコントローラをかませば、普通に表示出来ると思うので、興味あればぜひ。


[ci skip] Improve doc for ModuleConstMissing.guess_for_anonymous

ModuleConstMissing.guess_for_anonymousメソッドのdocの改善です。


print generators on failed generate

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

generate失敗時に出力するエラーメッセージが改善されています。

# before
  rails g migrate add_click_to_issue_assignment

  # Could not find generator migrate.

# after

  rails g migrate add_click_to_issue_assignment

#  Could not find generator "migrate". Please select a valid generator:
#  Rails:
#    assets
#    controller
#    generator
#    helper
#    integration_test
#    mailer
#    migration
#    model
#    resource
#    scaffold
#    scaffold_controller
#    task

割と便利そう、と思ったのですが、どうも誤ってマージされたらしく、直ぐrevertされています。


Revert "Merge pull request #15293 from schneems/schneems/generator-output-in-error"

という訳でrevertです。


pg, extract schema definitions into separate file.

PostgreSQLのDBAdapterの修正です。

activerecord/lib/active_record/connection_adapters/postgresql/schema_definitions.rbを新規に作成して、スキーマ定義関係の処理をまとめています。


pg, remove duplicated code.

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

二重に定義してしまったcitextメソッドを削除しています。