[#44289] [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に — Shyouhei Urabe <shyouhei@...>
34 messages
2011/08/01
[#44290] Re: [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に
— Kenta Murata <muraken@...>
2011/08/01
むらたです。
[#44294] Re: [ruby-dev:44290] Re: [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/08/01
(2011/08/01 11:10), Kenta Murata wrote:
[#44297] Re: [ruby-dev:44294] Re: [ruby-dev:44290] Re: [Ruby 1.9 - Feature #5128][Open] 日本語ドキュメントをUTF-8に
— "Martin J. Dürst" <duerst@...>
2011/08/01
On 2011/08/01 12:04, KOSAKI Motohiro wrote:
[#44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Nobuyoshi Nakada <nobu@...>
2011/08/01
[#44295] Re: [ruby-dev:44293] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Urabe Shyouhei <shyouhei@...>
2011/08/01
(08/01/2011 11:52 AM), Nobuyoshi Nakada wrote:
[#44299] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Nobuyoshi Nakada <nobu@...>
2011/08/01
なかだです。
[#44302] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/08/01
(2011/08/01 13:28), Nobuyoshi Nakada wrote:
[#44382] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Ayumu Aizawa <ayumu.aizawa@...>
2011/08/12
あいざわです
[#44390] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Urabe Shyouhei <shyouhei@...>
2011/08/15
(08/12/2011 10:57 AM), Ayumu Aizawa wrote:
[#44392] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Nobuyoshi Nakada <nobu@...>
2011/08/16
(11/08/15 17:41), Urabe Shyouhei wrote:
[#44393] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— "NARUSE, Yui" <naruse@...>
2011/08/16
2011年8月16日10:15 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Ayumu AIZAWA <ayumu.aizawa@...>
2011/08/24
[#44431] Re: [ruby-dev:44418] [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/08/27
> あいざわです
[#44443] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Ayumu Aizawa <ayumu.aizawa@...>
2011/09/01
あいざわです
[#44444] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Urabe Shyouhei <shyouhei@...>
2011/09/01
誰からも文句が出ないのを見届けて今週中くらいを目安に卜部がpullします。
[#44445] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— KOSAKI Motohiro <kosaki.motohiro@...>
2011/09/01
> 誰からも文句が出ないのを見届けて今週中くらいを目安に卜部がpullします。
[#44446] Re: [Ruby 1.9 - Feature #5128] 日本語ドキュメントをUTF-8に
— Ayumu Aizawa <ayumu.aizawa@...>
2011/09/01
> 他のファイルもやる必要があるという話なので、自分でコミットしてもらったほうが
[#44304] [Ruby 1.9 - Feature #5133][Open] Array#unzip as an alias of Array#transpose — Kenta Murata <muraken@...>
6 messages
2011/08/01
[#44315] [Ruby 1.9 - Bug #5139][Open] sigsegv のスタックオーバフロー — Tomoyuki Chikanaga <nagachika00@...>
18 messages
2011/08/02
[#44329] [Ruby 1.9 - Bug #5151][Open] test/socket/test_socket.rb fail when udp connection failed — Ayumu AIZAWA <ayumu.aizawa@...>
16 messages
2011/08/02
[#44337] [Ruby 1.9 - Bug #5152][Open] TestDateNew#test_civil が GC.stress = true 下で Failure — Tomoyuki Chikanaga <nagachika00@...>
4 messages
2011/08/03
[#44368] [Ruby 1.9 - Feature #5180][Open] net/http の接続時に用いる IP アドレスの指定 — Yui NARUSE <naruse@...>
15 messages
2011/08/10
[#44378] [Ruby 1.9 - Feature #5180] net/http の接続時に用いる IP アドレスの指定
— Kazuhiro NISHIYAMA <redmine@...>
2011/08/11
[#44370] [Ruby 1.9 - Feature #5180] net/http の接続時に用いる IP アドレスの指定
— Yui NARUSE <naruse@...>
2011/08/10
[#44371] Re: [Ruby 1.9 - Feature #5180] net/http の接続時に用いる IP アドレスの指定
— Tanaka Akira <akr@...>
2011/08/10
2011年8月10日15:05 Yui NARUSE <naruse@airemix.jp>:
[#44372] Re: [Ruby 1.9 - Feature #5180] net/http の接続時に用いる IP アドレスの指定
— "NARUSE, Yui" <naruse@...>
2011/08/10
2011年8月10日15:20 Tanaka Akira <akr@fsij.org>:
[#44413] [Ruby 1.9 - Bug #5217][Open] lineno is broken when source code has about 7000 lines — Yusuke Endoh <mame@...>
11 messages
2011/08/23
[#44416] [Ruby 1.9 - Bug #5217] lineno is broken when source code has about 7000 lines
— Hiroshi Nakamura <nakahiro@...>
2011/08/24
[#44417] Re: [Ruby 1.9 - Bug #5217] lineno is broken when source code has about 7000 lines
— Yusuke ENDOH <mame@...>
2011/08/24
遠藤です。
[ruby-dev:44338] [Ruby 1.9 - Feature #4788] resolv.rb refactoring
From:
Makoto Kishimoto <redmine@...>
Date:
2011-08-03 01:54:06 UTC
List:
ruby-dev #44338
Issue #4788 has been updated by Makoto Kishimoto.
元の問題は、lib/resolv.rb が、TCP へのフォールバックに対応して、その際に
make_requester --> make_udp_requester という名前の変更があったために、
(公開インターフェースではない)それに依存していたコードが動かなくなった、
というものです。
しかし、make_requester のような内部の非常に低いレイヤにあるメソッドに
rubydns ライブラリのコードが依存していた理由は、DNS#each_resource
メソッド中に、個々のリソースを取得するコードが一体不可分に含まれてしまって
いるため、DNS プロキシのようなものを作る場合、each_resource メソッド中の
リソース取得部分のコードの duplicate が、このようなライブラリの実装において
不可避であったためです。
パッチで示したように、リソース取得部分を切り離し、また、一種のコールバックで
ある extract_resources を、現状のハードコーディング状態から抽象化する
リファクタリングによって、ライブラリ側でのコード duplicate が必要なくなります。
パッチで追加される fetch_resource メソッドのユースケースとして、
ライブラリ側のコードがどうなるかというパッチを示します。
--- resolv.rb.orig 2011-05-27 18:15:59.000000000 +0900
+++ resolv.rb 2011-08-03 10:38:43.000000000 +0900
@@ -24,6 +24,13 @@
# This allows such responses to be passed upstream with little or no
# modification/reinterpretation.
def query(name, typeclass)
+ if respond_to?(:fetch_resource) then
+ fetch_resource(name, typeclass) do |reply, reply_name|
+ return reply, reply_name
+ end
+ return
+ end
+
lazy_initialize
requester = make_requester
senders = {}
----------------------------------------
Feature #4788: resolv.rb refactoring
http://redmine.ruby-lang.org/issues/4788
Author: Makoto Kishimoto
Status: Open
Priority: Normal
Assignee: Akira Tanaka
Category: lib
Target version: 1.9.x
このようなモンキーパッチが(私のコードではありませんが)
https://github.com/ioquatix/rubydns/blob/master/lib/rubydns/resolv.rb
#3835 ( [ruby-core:32407] )の結果、動かなくなっていたのでパッチを検討していたわけですが、
結論としてresolv.rbに以下のようなリファクタリングを施すのがいいのではないかと考えました。
パッチを添付します。
----
diff --git a/lib/resolv.rb b/lib/resolv.rb
index 1e18893..e9c2432 100644
--- a/lib/resolv.rb
+++ b/lib/resolv.rb
@@ -491,6 +491,12 @@ class Resolv
# #getresource for argument details.
def each_resource(name, typeclass, &proc)
+ each_resource_(name, typeclass) {|reply, reply_name|
+ extract_resources(reply, reply_name, typeclass, &proc)
+ }
+ end
+
+ def each_resource_(name, typeclass)
lazy_initialize
requester = make_udp_requester
senders = {}
@@ -517,7 +523,7 @@ class Resolv
# response will not fit in an untruncated UDP packet.
redo
else
- extract_resources(reply, reply_name, typeclass, &proc)
+ yield(reply, reply_name)
end
return
when RCode::NXDomain
--
http://redmine.ruby-lang.org