なるようになるブログ

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

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

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

Time.zone.parseメソッドの月の値のデフォルト値の修正、ActionDispatch::Http::URL.normalize_portメソッドの修正が行われています。


feature detect for FNM_EXTGLOB for older Ruby. Fixes #15053

ActionView::Resolver::PathResolver#queryメソッドの修正です。

昨日、File.fnmatchを使うよう修正したのですが、その際、パラメータにFile::FNM_EXTGLOBを使用しています。

が、File::FNM_EXTGLOBは1.9.3には無いので、1.9.3でエラーになっていました。

File.const_defined? :FNM_EXTGLOBで処理を分岐するよう修正しています。


Keep method's description/documentation consistent [ci skip]

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

theを追加したり等の微修正のみ。


Change Gemfile’s double quotes in plugin generator

railties/lib/rails/generators/rails/plugin/templates/Gemfileの修正です。

ジェネレータが生成するGemfieのダブルクォーテーションをシングルコーテーションに修正しています。


docs, fix typo in docs added by ed56e596a04673. [ci skip]

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

不要なピリオドを削除しています。


pg guide, PostgreSQL legacy table view example. [ci skip]

rails guideのActive Record and PostgreSQLの修正です。

table view の項を追加しています。


ActionDispatch::Http::URL.normalize_port should not strip port for protocol relative URL.

ActionDispatch::Http::URL.normalize_portメソッドの修正です。

options[:protocol]に//を指定された際、portはnilを返すようになっていた処理を削除しています。

相対パスを指定して際に、portの値を使用したいケースがあるから、でしょうか。


Always use the provided port for protocol relative urls

こちらもActionDispatch::Http::URL.normalize_portメソッドの修正です。

options[:protocol]に//を指定された際、明確にoptions[:port]の値を返すよう修正しています。

SSL tunnelを使用する場合にport番号が必要なのか。なるほど。

# before
  app.url_for controller: 'todos', action: 'index', protocol: '//', port: 443 # //www.example.com/todos

# after
  app.url_for controller: 'todos', action: 'index', protocol: '//', port: 443 # //www.example.com:443/todos

地味に仕様変更な。


adding complete message in documentation [ci skip]

actionpack/lib/abstract_controller/base.rbのdocの修正です。

raiseされるexceptionをActionNotFound -> AbstractController::ActionNotFoundに修正しています。


docs, make ActionNotFound public API. [ci skip]

AbstractController::ActionNotFoundのdocの修正です。

:nodoc:を削除し、docを追加しています。

ActionNotFoundは通常開発時に発生し、ユーザに見せているexceptionなので、public APIだろう、という事で、docが追加されています。


Make TimeZone#parse behave more like Time#parse.

ActiveSupport::TimeZone#parseメソッドの修正です。

月の値が指定されてない場合、1をデフォルト値として設定するように修正しています。

# before
  Time.zone.parse('Mar 2000') # Sat, 11 Mar 2000 00:00:00 UTC +00:00

# after
  Time.zone.parse('Mar 2000') # Wed, 01 Mar 2000 00:00:00 UTC +00:00

元々はnowの値だったんですね。Time#parseの動作に合わせた形との事です。