Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > webrick/httputilsライブラリ > WEBrick::HTTPUtils::FormDataクラス
クラスの継承リスト: WEBrick::HTTPUtils::FormData < String < Enumerable < Comparable < Object < Kernel
クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。
WEBrick::HTTPRequest#query はリクエストのクエリーあるいは クライアントがフォームへ入力した値を保持した Hash を返しますが、 その Hash のキーと値のうち値は FormData クラスのインスタンスになります。 同じ名前のフィールドが複数ある場合、WEBrick::HTTPUtils::FormData#list や WEBrick::HTTPUtils::FormData#each_data によりそれぞれの値を取り出すことができます。
通常のフォームデータ(application/x-www-form-urlencoded)は unescape されています。 ただし multipart/form-data なフォームデータはユーザが content-transfer-encoding ヘッダを見て適切に処理する必要があります。
new(*args) -> WEBrick::HTTPUtils::FormData
[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
self << str -> self
[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
self[header] -> String | nil
[permalink][rdoc]自身が multipart/form-data なデータの場合に、header で指定された ヘッダの値を文字列で返します。無ければ nil を返します。
例:
require "webrick/cgi" class MyCGI < WEBrick::CGI def do_GET(req, res) p req.query['q']['content-type'] #=> "plain/text" end end MyCGI.new.start()
append_data(data) -> self
[permalink][rdoc]WEBrick::HTTPUtils の内部で使われます。ユーザがこのメソッドを直接呼ぶことはありません。
each_data {|s| ... }
[permalink][rdoc]自身が表す各フォームデータを引数として、与えられたブロックを実行します。
例:
require "webrick/cgi" class MyCGI < WEBrick::CGI def do_GET(req, res) req.query['q'].each_data{|s| p s } #=> "val1" "val2" "val3" end end MyCGI.new.start()
filename -> String | nil
[permalink][rdoc]filename=(value)
フォームデータの filename 属性を文字列で表すアクセサです。
例:
require "webrick/cgi" class MyCGI < WEBrick::CGI def do_GET(req, res) p req.query['q'].filename #=> "my_file.txt" end end MyCGI.new.start()
list -> Array
[permalink][rdoc]to_ary -> Array
自身が表す各フォームデータを収納した配列を生成して返します。
例:
require "webrick/cgi" class MyCGI < WEBrick::CGI def do_GET(req, res) p req.query['q'].list #=> ["val1", "val2", "val3"] end end MyCGI.new.start()
name -> String | nil
[permalink][rdoc]name=(value)
フォームデータの name 属性を文字列で表すアクセサです。
例:
require "webrick/cgi" class MyCGI < WEBrick::CGI def do_GET(req, res) p req.query['q'].name #=> "q" end end MyCGI.new.start()
to_s -> String
[permalink][rdoc]自身が表すフォームデータのうちのひとつを文字列として返します。