キーワード
- cgi (11)
-
drb
/ ssl (11) - irb (11)
- logger (11)
-
net
/ http (11) -
rake
/ gempackagetask (11) - rdoc (11)
-
rdoc
/ generator / json _ index (11) - rubygems (11)
-
test
/ unit (1) -
webrick
/ cgi (11)
検索結果
-
cgi (145.0)
-
CGI プログラムの支援ライブラリです。
...) Version 1.1
* https://www.w3.org/CGI/
=== 使用例
==== フォームフィールドの値を得る
//emlist[][ruby]{
require "cgi"
cgi = CGI.new
values = cgi['field_name'] # <== 'field_name' の配列
# 'field_name' が指定されていなかったら、 ""を返す。
fields = cgi.keys......gi = CGI.new
params = cgi.params
//}
また CGI#params は毎回同じ Hash オブジェクトを返すので
以下のような使いかたもできます。
//emlist[][ruby]{
cgi.params['new_field_name'] = ["value"] # 新しいパラメータを加える
cgi.params['field_name'] = ["new_value"]......e を使うのが最も簡単です。
//emlist[][ruby]{
# 保存
require 'pstore'
db = PStore.new("query.db")
db.transaction do
db["params"] = cgi.params
end
# 復帰
require 'pstore'
db = PStore.new("query.db")
db.transaction do
cgi.params = db["params"]
end
//}
ただし、PStore は Ruby... -
logger (103.0)
-
ログを記録するためのライブラリです。
...例
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")
path = "a_non_existent_file"
begin
File.foreach(path) do |line|
unless line =~ /^(\w+) = (.*)$/
l......ができます(Logger.new も参照)。
1. STDERR/STDOUTに出力するように指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)
//}
2. ログファイル名を指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new('logfile.log')
//}
3. F......e::CREAT)
logger = Logger.new(file)
//}
4. 指定したファイルサイズに達したらログファイルの切り替えを行うように指定。
//emlist[][ruby]{
require 'logger'
# 約1,024,000バイトの"古い"ログファイルを10個残す
logger = Logger.new('foo.log', 10, 1024000)... -
irb (73.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
...-d $DEBUG を true にする (ruby -d と同じ)
-w ruby -w と同じ
-W[level=2] ruby -W と同じ
-r library ruby -r と同じ
-I ruby -I と同じ
-U ruby -U と同じ
-E enc ruby -E と同じ
--ve......"
irb#2(Foo):007:1> end
nil
irb#2(Foo):010:0> Foo.instance_methods
["bar", "foo"]
irb#2(Foo):011:0> fg 0
nil
irb(main):007:0> f = Foo.new
#<Foo:0x4010af3c>
irb(main):008:0> irb f # Fooのインスタンスでirbを......各インタプリタの self (「irb(obj)」で起動した時の obj)
//}
: source(path)
: irb_source(path)
現在の irb インタプリタ上で、
Ruby スクリプト path を評価します。
path の内容を irb で一行ずつタイプしたかのように、irb 上で一行ず... -
logger (73.0)
-
ログを記録するためのライブラリです。
...例
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDOUT)
logger.level = Logger::WARN
logger.debug("Created logger")
logger.info("Program started")
logger.warn("Nothing to do!")
path = "a_non_existent_file"
begin
File.foreach(path) do |line|
unless line =~ /^(\w+) = (.*)$/
l......ができます(Logger.new も参照)。
1. STDERR/STDOUTに出力するように指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new(STDERR)
logger = Logger.new(STDOUT)
//}
2. ログファイル名を指定
//emlist[][ruby]{
require 'logger'
logger = Logger.new('logfile.log')
//}
3. F......e::CREAT)
logger = Logger.new(file)
//}
4. 指定したファイルサイズに達したらログファイルの切り替えを行うように指定。
//emlist[][ruby]{
require 'logger'
# 約1,024,000バイトの"古い"ログファイルを10個残す
logger = Logger.new('foo.log', 10, 1024000)... -
net
/ http (61.0) -
汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は 2616 に基きます。
...: 上の例よりさらに汎用的な例][ruby]{
require 'net/http'
url = URI.parse('http://www.example.com/index.html')
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}
puts res.body
//}
==== フォームの情報を送信する (POST)
/......制御する
url = URI.parse('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'})
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Ne......を利用してプロクシを利用します。http_proxyを利用したくないならば
Net::HTTP.new や Net::HTTP.start の proxy_addr 引数に
nil を渡してください。
Net::HTTP.new や Net::HTTP.start の proxy_addr や proxy_port
を指定することでプログラムからプロ... -
webrick
/ cgi (61.0) -
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
...ss MyCGI < WEBrick::CGI
def do_GET(req, res)
res["content-type"] = "text/plain"
ret = "hoge\n"
res.body = ret
end
end
MyCGI.new.start()
==== do_XXX メソッド
do_XXX メソッドの XXX には GET, HEAD, POST, PUT, DELETE, OPTIONS が使用できます。
WEBrick::CGI......GET(req, res)
req.query #=> Hash を返します。
req.query['q']
req.query['num']
end
end
MyCGI.new.start()
同じ名前のフィールドが複数ある場合、list メソッドや each_data メソッドを使います。
require "webrick/cgi......GI
def do_GET(req, res)
req.query['q'].list #=> フォームの値を保持した文字列の配列を返します。
end
end
MyCGI.new.start()
query メソッドが返す Hash オブジェクトのキーと値のうち値は WEBrick::HTTPUtils::FormData クラスの
インスタ... -
rubygems (49.0)
-
RubyGems を扱うためのクラスやモジュールが定義されているライブラリです。
...タのみを含む Gem パッケージです。また、いくつかの警告が表示されます。
//emlist[gemspec][ruby]{
Gem::Specification.new do |s|
s.name = 'hello'
s.version = '0.0.0'
s.summary = 'hello summary'
end
//}
実用的なライブラリを作成するための gemspec......す。
警告メッセージが出力されないようにいくつか設定を追加しています。
//emlist[gemspec][ruby]{
Gem::Specification.new do |s|
s.name = 'hello'
s.version = '0.0.0'
s.summary = 'hello summary'
s.files = ['lib/hello.......行可能なファイル (コマンド) を含む場合の gemspec は以下のようになります。
//emlist[gemspec][ruby]{
Gem::Specification.new do |s|
s.name = 'hello'
s.version = '0.0.0'
s.summary = 'hello summary'
s.files = ['bin/hello'... -
rdoc (37.0)
-
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。
...pattern にマッチするディレクトリおよびファイルを処理の対象から取り除きます。
: --extension new=old
ファイル名の末尾が .new であるものを、末尾が .old であるものとして取
り扱います。例えば '--extension cgi=rb' とすれば......on't store such files at your
project root. NOTE: Do not use the same file name in the page dir
and the root of your project
: --copy-files path
path で指定したファイルかディレクトリを出力先のディレクトリにコピーし
ます。ディレクトリを指定した......ん。
: :notnew:
これはインスタンスメソッドの initialize にのみ適用できます。通常、
RDoc は initialize メソッドのドキュメントやパラメータを実際にはクラス
メソッド new のものと仮定し、initialize の代わりに new を出力し... -
drb
/ ssl (31.0) -
DRb のプロトコルとして SSL/TLS 上で通信する drbssl が使えるようになります。
...DRb::DRbServer.new( 'drbssl://localhost:10000',
obj,
{:SSLCertName => [["CN","fqdn.example.com"]]})
DRb::DRbServer.new や DRb.#start_service が
"drbssl" スキームを受け入れるようになります。
また、DRb::DRbObject.new_with_uri でも......ルトは nil (指定なし)です。
: :SSLCACertificatePath
接続相手の証明書の検証のために用いる信頼済みCA証明書
ファイルのディレクトリパスを指定します。
OpenSSL::SSL::SSLContext#ca_path= で利用します。
デフォルトは nil (指定な......れる証明書は自己署名されているので、証明書の発行者としても
この名前が利用されます。
OpenSSL::X509::Name.new に渡されるので、
[["CN","fqdn.example.com"]]という形式の配列を渡す必要があります。
デフォルトは nil です。... -
rake
/ gempackagetask (19.0) -
Gem Spec ファイルを元にして Gem パッケージを作成するタスクを定義するためのライブラリです。
...require 'rubygems'
spec = Gem::Specification.new do |s|
s.platform = Gem::Platform::RUBY
s.summary = "Ruby based make-like utility."
s.name = 'rake'
s.version = PKG_VERSION
s.requirements << 'none'
s.require_path = 'lib'
s.autorequire = 'rake'
s.files =......PKG_FILES
s.description = <<EOF
Rake is a Make-like program implemented in Ruby. Tasks
and dependencies are specified in standard Ruby syntax.
EOF
end
Rake::GemPackageTask.new(spec) do |pkg|
pkg.need_zip = true
pkg.need_tar = true
end... -
test
/ unit (19.0) -
ユニットテストを行うためのライブラリです。
...が必ず呼ばれます。
require 'test/unit'
require 'foo'
class TC_Foo < Test::Unit::TestCase
def setup
@obj = Foo.new
end
# def teardown
# end
def test_foo
assert_equal("foo", @obj.foo)
end
def test_bar
assert_equ......un tests with N jobs at once
--no-retry Don't retry running testcase when --jobs specified
--ruby VAL Path to ruby; It'll have used at -j option
-q, --hide-skip Hide skipped tests
-b, --basedir=DIR Ba......se directory of test suites.
-x, --exclude PATTERN Exclude test files on pattern.
-Idirectory Add library load path
--[no-]gc-stress Set GC.stress as true
複数のテストを一度に行う場合、以下のように書いただけ...