220件ヒット
[1-100件を表示]
(0.056秒)
キーワード
-
cgi
/ session (11) - coverage (11)
-
did
_ you _ mean (11) - drb (11)
-
drb
/ extservm (11) -
drb
/ gw (11) -
drb
/ ssl (11) -
drb
/ unix (11) -
net
/ http (11) -
net
/ imap (11) -
net
/ pop (11) -
net
/ smtp (11) - optparse (11)
-
rexml
/ parsers / pullparser (11) -
rexml
/ parsers / sax2parser (11) -
rexml
/ parsers / streamparser (11) -
rexml
/ parsers / ultralightparser (11) -
rinda
/ rinda (11) - webrick (11)
-
webrick
/ cgi (11)
検索結果
-
net
/ smtp (121.0) -
メールを送信するためのプロトコル SMTP (Simple Mail Transfer Protocol) を扱うライブラリです。
...SMTP.start でセッションを開きます。
第一引数がサーバのアドレスで第二引数がポート番号です。
ブロックを使うと File.open と同じように終端処理を自動的にやってくれる
のでおすすめです。
require 'net/smtp'
Net::SMTP.start( 's......。
セッションが開いたらあとは Net::SMTP#send_message
でメールを流しこむだけです。
require 'net/smtp'
Net::SMTP.start('smtp.example.com', 25) {|smtp|
smtp.send_message(<<-EndOfMail, 'from@example.com', 'to@example.net')
From: Your Name <from@example.com>
T......Net::SMTP.start('smtp.example.com', 25)
smtp.send_message mail_string, 'from@example.com', 'to@example.net'
smtp.finish
またブロック付きの Net::SMTP.start, Net::SMTP#start
を使うと finish を呼んでくれるので便利です。
可能な限りブロック付きの start を使... -
net
/ pop (55.0) -
このライブラリは、POP3 (Post Office Protocol version 3) を 用いてPOPサーバからメールを受信する機能を提供するライブラリです。
...ウント名とパスワード
に適宜読みかえてください。
require 'net/pop'
pop = Net::POP3.new('pop.example.com', 110)
pop.start('YourAccount', 'YourPassword') # POPのセッションを開始
if pop.mails.empty?
$stderr.puts 'no mail.'
else
pop.mails.each_with_in......るにはその前に開始手続きを、
終わったら終了手続きを、行わなければいけません。
それを行うのが Net::POP3#start と Net::POP3#finish で、
POP3 オブジェクトはその二つのメソッドの間でだけ有効になります。
サーバ上のメール......ドを避けたためにかなり冗長です。
まず、ブロック付きの Net::POP3.start を使うことで
POP3.new, #start, #finish を併合できます。
require 'net/pop'
Net::POP3.start('pop.example.com', 110,
'YourAccount', 'YourPassword') {|pop|
if pop.m... -
rexml
/ parsers / sax2parser (55.0) -
SAX2 と同等の API を持つストリーム式の XML パーサ。
...<a n="1">111</a>
<b n="2">222</b>
<a n="3">333</a>
</root>
XML
elements = []
parser.listen(:start_element){|uri, localname, qname, attrs|
elements << [qname, attrs]
}
as = []
parser.listen(:start_element, ["a"]){|uri, localname, qname, attrs|
as << [qname, attrs]
}
texts = []
parser.listen......g?(name, include_private)
name != :call
end
end
parser = REXML::Parsers::SAX2Parser.new(xml)
parser.listen(Listener.new)
parser.parse
# >> [:start_document]
# >> [:xmldecl, "1.0", "UTF-8", nil]
# >> [:progress, 39]
# >> [:characters, "\n"]
# >> [:progress, 91]
# >> [:processing_instruction, "......# >> [:characters, "\n"]
# >> [:progress, 683]
# >> [:start_prefix_mapping, nil, "http://example.org/default"]
# >> [:start_prefix_mapping, "foo", "http://example.org/foo"]
# >> [:start_prefix_mapping, "bar", "http://example.org/bar"]
# >> [:start_element, "http://example.org/default", "root", "root... -
rexml
/ parsers / streamparser (55.0) -
ストリーム式の XML パーサ。
...バックメソッドを呼び出します。順が前後することはありません。
===[a:example] StreamParserの例
この例では tag_start と text をオーバーライドして
開始タグとテキストの情報を受け取れるようにしています。
空白や改行もテキ......REXML::StreamListener
def initialize
@events = []
end
def text(text)
@events << "text[#{text}]"
end
def tag_start(name, attrs)
@events << "tag_start[#{name}]"
end
attr_reader :events
end
xml = <<EOS
<members>
<member name="apple" color="red">
<comment>comment here......ew(xml, listener).parse
listener.events
# => ["tag_start[members]",
# "text[\n ]",
# "tag_start[member]",
# "text[\n ]",
# "tag_start[comment]",
# "text[comment here]",
# "text[\n ]",
# "text[\n ]",
# "tag_start[member]",
# "text[\n]",
# "text[\n]"]
//}... -
webrick
/ cgi (55.0) -
一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。
...を定義することによって CGI スクリプトを書きます。
スクリプトの最後で WEBrick::CGI#start メソッドを呼ぶ必要があります。
WEBrick::CGI#start メソッドは service メソッドを呼び出し、service メソッドはリクエストに応じて
do_XXX......CGI < 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 のサ......eq, res)
req.query #=> Hash を返します。
req.query['q']
req.query['num']
end
end
MyCGI.new.start()
同じ名前のフィールドが複数ある場合、list メソッドや each_data メソッドを使います。
require "webrick/cgi"
cl... -
coverage (49.0)
-
カバレッジを測定するためのライブラリです。
...的な使い方
以下のようにして測定を行います。
(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result や Coverage.......verage.start
load "foo.rb"
p Coverage.result # => {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}
//}
この Coverage.result["foo.rb"] から得られる配列は各行の実行回数になっています。
=== カバレッジモードの指定
Ruby 2.5 以降では、Coverage.start の引......得られる結果の情報は、引数でモードを明示的にしない場合と同じです。
//emlist[][ruby]{
require "coverage"
Coverage.start(lines: true)
load "foo.rb"
p Coverage.result # => {"foo.rb"=>{:lines=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}}
//}
キーの :lines が指す値... -
net
/ http (43.0) -
汎用データ転送プロトコル HTTP を扱うライブラリです。 実装は 2616 に基きます。
...s = Net::HTTP.start(url.host, url.port) {|http|
http.get('/index.html')
}
puts res.body
//}
//emlist[例4: 上の例よりさらに汎用的な例][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, ur......t.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, Net::HTTPRedirection
# OK
else
res.value
end
//}
==== プロクシ経由のアク......ロクシを利用します。http_proxyを利用したくないならば
Net::HTTP.new や Net::HTTP.start の proxy_addr 引数に
nil を渡してください。
Net::HTTP.new や Net::HTTP.start の proxy_addr や proxy_port
を指定することでプログラムからプロクシを指定す... -
rexml
/ parsers / pullparser (43.0) -
プル方式の XML パーサ。
...シンボルを列挙しています。
これらのうちのいくつかは、
REXML::Parsers::PullEvent#start_element? などのメソッドで
判定することが可能です。
: start_element (要素名, 属性)
XML要素の開始タグ。属性は { 属性名文字列 => 属性値文字......: comment (コメント文字列)
コメント
: start_doctype (ルート要素名, "SYSTEM" | "PUBLIC" | nil, システム識別子 | nil, 公開識別子 | nil)
DTD 開始。判定は REXML::Parsers::PullEvent#doctype? メソッドで、
start_doctype? ではない
: end_doctype ()
DTD 終......nil]
# >> text: ["\n", "\n"]
# >> processing_instruction: ["xml-stylesheet", " type=\"text/css\" href=\"style.css\""]
# >> text: ["\n", "\n"]
# >> start_doctype: ["root", "SYSTEM", "foo", nil]
# >> elementdecl: ["<!ELEMENT root (a+)"]
# >> elementdecl: ["<!ELEMENT a"]
# >> entitydecl: ["bar", "barb... -
rexml
/ parsers / ultralightparser (31.0) -
パース結果を配列で作られた木構造により返すパーサ。
...味がないので
たいがいの場合には無視すべきでしょう。
各ノードは以下のような配列で表現されます。
: [:start_element, 親ノード, 要素名, 属性, *子ノード]
XML要素。属性は { 属性名文字列 => 属性値文字列 } という Hash。......ーゲット文字列, 内容文字列 | nil]
XML処理命令(Processing Instruction, PI)
: [:comment ,コメント文字列]
コメント
: [:start_doctype, 親ノード, ルート要素名, "SYSTEM" | "PUBLIC" | nil, システム識別子 | nil, 公開識別子 | nil, *子ノード]
DTD。......mldecl, "1.0", "UTF-8", nil],
# >> [:text, "\n"],
# >> [:start_element,
# >> [...],
# >> "root",
# >> {},
# >> [:text, "\n "],
# >> [:start_element, [...], "a", {"n"=>"1"}, [:text, "xyz"]],
# >> [:text, "\n "],
# >> [:start_element, [...], "b", {"m"=>"2"}],
# >> [:text, "\n"]],
#... -
drb
/ extservm (25.0) -
DRb::ExtServManager を定義しているライブラリ。
...e.rb service2)
# ExtServManager オブジェクトを生成して
# drb の front object に指定する
s = DRb::ExtServManager.new
DRb.start_service("druby://localhost:10234", s)
# drb のプロセスの終了を待つ
DRb.thread.join
service.rb:
require 'drb/drb'
require 'd......initialize(service_name)
@service_name = service_name
end
def hello
"You invoke #{@service_name}"
end
end
puts "Start #{ARGV[0]}"
# ARGV の最後2つを除いた部分は ExtServManager.command で
# 指定した引数が渡される
front = Service.new(ARG......サーバスレッドが
# 終了するため、以下の行が実行される
puts "Stop #{ARGV[0]}"
client.rb:
require 'drb/drb'
DRb.start_service
s = DRbObject.new_with_uri("druby://localhost:10234")
# No1 と名付けられたサービスを呼び出す
service1 = s.service(...