Rubyで、gem installした後、ざっとドキュメントを見たいとき、どうするのが良いでしょうか?→gem serverで解決

教えてくんモードです。
Rubyで、gem installした後、ざっとドキュメントを見たいとき、どうするのが良いでしょうか?
(→解決しました「gem serverを動かして、表示されたURLをブラウザで見る」らしいです)
たとえば、Rubyで「はてなブックマーク」を使って遊びたいなと思ったとしましょう。るびこちゃんは以下のような行動を取りました。

(hatenaという文字列を含むモジュールを探しましょ♪)

C:\>gem search hatena

*** LOCAL GEMS ***

(あ、gemって、デフォルトではローカルを探すんですね…)
(じゃあ、--remoteオプションをつけましょ♪)

C:\>gem search hatena --remote

*** REMOTE GEMS ***

hatenaapiauth (0.1.0)
hatenaapigraph (0.2.2)
hatenabm (0.1.2)
hatenagraphup (1.2.2)

(あったあった。きっと、hatenabmですね)

C:\>gem install hatenabm
Successfully installed hatenabm-0.1.2
1 gem installed
Installing ri documentation for hatenabm-0.1.2...
Installing RDoc documentation for hatenabm-0.1.2...

(できたできた。簡単ですねえ)
(ri documentationもインストールされたみたいですね)
(じゃあ、さっそくドキュメントを見てみましょう)

C:\>ri hatenabm
Nothing known about hatenabm

(あ、あれ?)
(バージョン番号もいるんでしょうか?)

C:\>ri hatenabm-0.1.2
Bad argument: hatenabm-0.1.2

(違うようですね…)
(じゃあ、RDocのほうで見てみましょう)

C:\>rdoc hatenabm
File not found: hatenabm

(これも違う…)
(バージョン番号もいるんでしょうか?)

C:\>rdoc hatenabm-0.1.2
File not found: hatenabm-0.1.2

(むきー!)
(いやいや、ヘルプ読みましょ…)

C:\>ri --help
...
         --gems   Include documentation from Rubygems:
...

(おー、このオプションが必要なのかしらん)

C:\>ri --gems hatanabm
No ri documentation found in:

Was rdoc run to create documentation?

(はてさて…)
(もういい、自力で探すもん!)

C:\>cd ruby

C:\ruby>dir /s/b hatena*
C:\ruby\lib\ruby\gems\1.8\cache\hatenabm-0.1.2.gem
C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2
C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2\rdoc\classes\HatenaBM.html
C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2\rdoc\classes\HatenaBM.src
C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2\rdoc\files\lib\hatenabm_rb.html
C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2\ri\HatenaBM
C:\ruby\lib\ruby\gems\1.8\gems\hatenabm-0.1.2
C:\ruby\lib\ruby\gems\1.8\gems\hatenabm-0.1.2\lib\hatenabm.rb
C:\ruby\lib\ruby\gems\1.8\specifications\hatenabm-0.1.2.gemspec

(あったあった)

C:\ruby>start C:\ruby\lib\ruby\gems\1.8\doc\hatenabm-0.1.2\rdoc

うーん、るびーすとのみなさんは、gem installした後、どうやってドキュメントを見てるんでしょうか?

C:\ruby>ruby --version
ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32]

追記
Twitterでつぶやいたら、igaiga555さんとhal_99さんから、gem serverを使えばと教えていただきました。コメント欄でもHexaさんに教えていただきました。感謝!

C:\ruby> gem server
Starting gem server on http://localhost:8808/

C:\ruby> start http://localhost:8808/

追記2
上記で問題はないんですが、ユーザ的にはちょっぴり使いにくいなと思っちゃったりしました。
きっと、gem show hatenabmみたいなコマンドか、ri hatenabm みたいなコマンドを期待しちゃうのかも。perldocのほうがすぐにusageのexampleが手に入る…ように感じるのはperldocに慣れているからなのかなあ…。以前、このあたりの話題を弾さんがどこかに書いてたような気がする。

なんとなくirb

C:\work> irb
irb(main):001:0> 0.class
=> Fixnum
irb(main):002:0> nil.class
=> NilClass
irb(main):003:0> true.class
=> TrueClass
irb(main):004:0> false.class
=> FalseClass
irb(main):005:0> [].class
=> Array
irb(main):006:0> {}.class
=> Hash
irb(main):007:0> proc{}.class
=> Proc
irb(main):008:0> (1..3).class
=> Range
irb(main):009:0> 0.0.class
=> Float

なるほど、という感じですね。

UTF8文字列をShift_JISに変換する

UTF8文字列をShift_JISに変換する例。

require 'kconv'

MATHGIRL = "\346\225\260\345\255\246\343\202\254\343\203\274\343\203\253"

puts MATHGIRL
puts MATHGIRL.tosjis

実行結果です(Windowsコマンドラインにて)。

謨ー蟄ヲ繧ャ繝シ繝ォ         (UTF8直接出力して文字化け)
数学ガール              (Shift_JISに変換されて文字化けしない)

補足:

  • ri Stringを読んでいて、tosjisというインスタンスメソッドがあるのを発見。
  • へえ、便利だなあと思って使おうとした。
  • undefined methodと言われた。
  • はにゃ?と思ってTwitterでつぶやいた。
  • id:yuguiさんから「riは添付ライブラリのも全部出します」と教えていただいた。
  • で、kconvをrequireした。

YouTubeのタグ検索をしてタイトルとURLを表示するRubyスクリプト

YouTubeのタグ検索をしてタイトルとURLを表示するRubyスクリプトです。
準備

  • YouTubeのDeveloper IDを得る。
gem search youtube --remote   (YouTube関連のgem探し)
(略)
youtube (0.8.6)                (見つかった)
(略)
gem install youtube            (インストールする)
gem search youtube             (確かにLOCALに入ったかな?)
gem which youtube              (実際のファイルはどこかしら?)

スクリプト

require 'rubygems'
require 'youtube'
require 'kconv'

ID = 'ここにIDを入れる'
TAG = '初音ミク 数学ガール'.toutf8

YouTube::Client.new(ID).videos_by_tag(TAG).each do |v|
    puts v.title.tosjis, v.url
end

実行結果

【初音ミク】 数学ガール
http://www.youtube.com/watch?v=k4_ZGeyBoow
【初音ミク】数学ガール〜Let's prove it!〜【オリジナル】
http://www.youtube.com/watch?v=aIlPRnZ1qzY
初音ミク 完全3D PV(みくみくにしてあげる♪)
http://www.youtube.com/watch?v=UnpSAMnGi78
【初音ミク】ミクがスペランカー略して「ミクランカー」
http://www.youtube.com/watch?v=V3zTkHYoaY4
【完成】初音ミクの暴走【アニメ化】
http://www.youtube.com/watch?v=USnIrEcadgQ
初音ミク が オリジナル曲を歌ってくれたよ「メルト」
http://www.youtube.com/watch?v=m4jkxXyCBgs
【3DCG】くるっと・おどって・初音ミク【ねんどろいど】
http://www.youtube.com/watch?v=j7al5TKaR8M
【初音ミク】トルコ行進曲 - オワタ\(^o^)/-FULL【PV】【STEREO】
http://www.youtube.com/watch?v=5lBeai-NCnM
みくみくにしてあげる♪(動画付)
http://www.youtube.com/watch?v=s_FX_9MFl1E
初音ミク が オリジナル曲を歌ってくれたよ「ワールドイズマイン」(H264)
http://www.youtube.com/watch?v=MDWf-pPYNCw
初音ミクのアルゴリズム行進
http://www.youtube.com/watch?v=X1ahy_OaCSs
(以下略)

追記

Ruby on Railsインストールメモ

3の倍数と3のつく数字のときだけ…

Ruby 3の倍数と3のつく数字のときだけアホになるに触発されて。

(1..40).each do |k|
  if k % 3 == 0
    puts "#{k} aho"
  elsif k.to_s.include?("3")
    puts "#{k} aho"
  else
    puts "#{k}"
  end
end

実行結果です。

C:\work> ruby aho.rb
1
2
3 aho
4
5
6 aho
7
8
9 aho
10
11
12 aho
13 aho
14
15 aho
16
17
18 aho
19
20
21 aho
22
23 aho
24 aho
25
26
27 aho
28
29
30 aho
31 aho
32 aho
33 aho
34 aho
35 aho
36 aho
37 aho
38 aho
39 aho
40