[#47319] Translating MRI Guides! — Zachary Scott <zachary@...>
Hello Hashimoto-san!
5 messages
2013/05/03
[#47340] [ruby-trunk - Bug #8401][Open] BigDecimal.new("2").power(1e20) is zero. — "akr (Akira Tanaka)" <akr@...>
4 messages
2013/05/13
[#47341] LONG_LONG availability — Tanaka Akira <akr@...>
気がついてしまったのですが、Ruby 1.9.2 のころから
7 messages
2013/05/13
[#47363] -Lprefix/lib — Tanaka Akira <akr@...>
最近試しているクロスコンパイルな CI で、
5 messages
2013/05/22
[#47374] Re: [ruby-cvs:48158] xibbar:r40990 (trunk): fix a typo. — Zachary Scott <zachary@...>
Do you mean "modularized"?
3 messages
2013/05/30
[#47377] RubyKaigi 2013, 5/31(金)の'Ruby Comitter vs. the World'企画へのご協力のお願い — Kakutani Shintaro <shintaro@...>
かくたにです。RubyKaigi 2013 のほうから来ました。
5 messages
2013/05/30
[ruby-dev:47315] [ruby-trunk - Feature #8354] lib/cgi/util.rb を関数としても使えるようにしたい
From:
"xibbar (Takeyuki FUJIOKA)" <xibbar@...>
Date:
2013-05-02 23:57:12 UTC
List:
ruby-dev #47315
Issue #8354 has been updated by xibbar (Takeyuki FUJIOKA).
一般的なコードの中でescapeHTMLが多用されるとは思わないのですが、
cgiアプリの中ではある程度escapeHTMLが必要になります。
これが随所に出てきて、
@cgi = CGI.new("html5")
login = @cgi['login']
family_name = @cgi[family_name']
first_name = @cgi[first_name']
@cgi.out do
@cgi.header do
@cgi.title{"Sample"}+
end+
@cgi.body do
@cgi.div{ CGI.escapeHTML(login) }+
@cgi.div{ CGI.escapeHTML(first_name) }+
@cgi.div{ CGI.escapeHTML(family_name) }
end
end
これ、
include CGI::Util
@cgi = CGI.new("html5")
login = @cgi['login']
family_name = @cgi[family_name']
first_name = @cgi[first_name']
@cgi.out do
@cgi.header do
@cgi.title{"Sample"}+
end+
@cgi.body do
@cgi.div{ h(login) }+
@cgi.div{ h(first_name) }+
@cgi.div{ h(family_name) }
end
end
とかければいいなと。
※ 動作チェックしないで書いているので、うまく動くかわかんないコードです。
エスケープが面倒なのです。
includeした時しか影響が出ないので、欲しいです。
名前はhじゃなくてもいいですが。
----------------------------------------
Feature #8354: lib/cgi/util.rb を関数としても使えるようにしたい
https://bugs.ruby-lang.org/issues/8354#change-39093
Author: xibbar (Takeyuki FUJIOKA)
Status: Open
Priority: Normal
Assignee: xibbar (Takeyuki FUJIOKA)
Category: lib
Target version: current: 2.1.0
cgi/util.rb には CGI.escapeHTML などのメソッドがあります。
これらを使うにはCGI.escapeHTML(str) みたいにして
いちいち全部書かなきゃならなくて、
長いと思っています。
erbを使っている人なら include ERB::Util すると h(str) と使えるのですが、
私はerb使わずに素のCGIを書いているので、hが使えず不便でした。
なので、中身をutil.rb の中身を丸ごとmoduleにして
include CGI::Util すれば、escapeHTMLが使えて、
さらにescapeHTML にhをエイリアスにして、
erbと同じように使えるようにしてしまおうかと思います。
すでにerbでそういう名前で短縮名が使われているので、
新規に仕様を作るまでもなく真似します。
また、今は ERB::Util#h は実体がCGI.escapeHTMLですし。
メンテナが私なので反対がなければ入れたいと思います。
--
http://bugs.ruby-lang.org/