ずっと君のターン

2007-06-24 くもりのち雨になるらしい

メイドカフェAPIのRubyインターフェース

| 23:42 |  メイドカフェAPIのRubyインターフェースを含むブックマーク

作りました。わざわざブラウザを立ち上げなくてもメイドカフェなんかの萌えなお店が検索できて、とても便利ですね。

インストール

gem install ruby-maidcafe

RubyForgeに登録しました。RFの右上の検索窓に "maidcafe" または "メイドカフェ" と書いて検索ボタンを叩くとruby-maidcafeプロジェクトページに飛ぶのがとってもご機嫌です。RubyForgeで「メイドカフェ」を検索する奴なんていない?かもね。だがそれがいい。

対話的インターフェース

$ bin/ruby-maidcafe

1 : お店
2 : 開催中のイベント
3 : クーポン
4 : バイト
5 : オープン
6 : 新店舗
7 : お店からのお知らせ
8 : お店からのイベントのお知らせ
選択してください: 1
お店

都道府県名を指定しますか (y/N)y
1 : 北海道
2 : 栃木県
3 : 埼玉県
4 : 東京都
5 : 神奈川県
6 : 岐阜県
7 : 愛知県
8 : 大阪府
9 : 福岡県
10 : 鹿児島県
選択してください: 1
北海道

カテゴリを指定しますか (y/N)

お店番号を指定しますか (y/N)
1 : ロミオ†ジュリエッタ - すべてがメイドさんの手作りメニュー☆
2 : 萌えカフェ&BAR ゆるふわ - メイドさん達と楽しくお話しながら、ユニークなメニューでご主人様・お嬢様をおもてなしさせていただきます。また月に数回色々なイベントを開催しています。コスプレイベント、ゲリライベント、ゲーム大会、アニソン大会、などの参加型イベントがもりだくさん!毎日、帰るのが楽しみになるお家です!
選択してください: 1
店名: ロミオ†ジュリエッタ
住所: 北海道札幌市中央区南3条西4丁目Gステージビル3F
Tel:  011-222-0832
説明: すべてがメイドさんの手作りメニュー☆
     日替わりで担当のメイドがsweetsを作っています。
     また、土日はランチもありますよ♪
     メイドによりメニューは色々変わりますので
     それもひとつのお楽しみです!
     イベントも満載ですよ♪

[push enter key]

非対話的インターフェース

ショップリスト取得

$ bin/ruby-maidcafe -s list
ID: 1
名前: メイド+コスプレ居酒屋LittleBSD

ID: 3
名前: マジカルナイト

ID: 8
名前: basicBar【bB】

 :

東京都(#13)にある萌店情報

$ bin/ruby-maidcafe -t 13 shop
店名: メイド+コスプレ居酒屋LittleBSD
住所: 東京都千代田区外神田3-7-12イサミヤ第8ビル4F
Tel:  03-3252-2733
説明: 舞台は秋葉原。小悪魔たちが繰り広げる宴の世界。

     小悪魔たちは、アニメ・ゲームのコスプレに身を包み
     あなたを惑わせることでしょう。

     あっとおどろく料理とお好きなドリンクを片手に、
     遊び心いっぱいのLittleBSDをどうぞお楽しみください。

     小悪魔たちのブログもあります。よろしくね。
     http://blog.livedoor.jp/littlebsd/

店名: マジカルナイト
住所: 東京都千代田区内神田3-13-3
Tel:  03-3252-6499
説明: ♪もっと近くでしゃべろっ☆癒しとパワーをあげちゃう!

     マジカルナイトはアニメ・マンガ・ゲームキャラクター専門のコスプレキャバクラですVV

店名: basicBar【bB】
住所: 東京都千代田区神田佐久間町1-25KTビル2F
Tel:  03-5294-3262
説明: 秋葉原昭和通り沿いに2004年11月15日にOPENしたメイドバーです。

 :

ライブラリとして使用

ショップリスト表示

require 'ruby-maidcafe'
api = Maidcafe::API.new
rs = api.list :shop
puts rs.description
rs.items.each do |item|
  puts item.name
  puts item.id
end

大阪にある萌店情報表示

require 'ruby-maidcafe'
api = Maidcafe::API.new
rs = api.shop :prefecture => Maidcafe::Prefecture::OSAKA
puts rs.description
rs.items.each do |item|
  puts item.name
  puts item.description
  puts item.opening_hour
end

後ほど住所での検索が追加される予定です。

人選ミス

| 09:53 |  人選ミスを含むブックマーク

珍しく早起きしたら、これまた珍しい友人から電話がかかってきてディープな相談を受けました、が、結婚生活の相談を未婚の俺にするかよ。明らかに相談相手を間違ってる。40分ばかり愚痴を聞いてあげて終了。ごめん、流石になんもアドバイスできんわ。

コマンドテンプレート

| 08:00 |  コマンドテンプレートを含むブックマーク

optparseが面倒くさいので今後はここからコピペする。

元は瀧内さんのコードだけど、どれからパクったか忘れた。

require 'optparse'
COMMAND_LINE = "#{$0} #{ARGV.join(' ')}"
OPT = {}
opts = OptionParser.new
opts.on('-a <abc>'){|v| OPT[:abc] = v}
opts.on('-x', '--xyz <xyz>'){|v| OPT[:xyz] = v}
opts.on_tail('-v', '--version', 'Show version.'){puts(opts.ver); exit}
opts.on_tail('-h', '--help', 'Show this message.'){puts(opts.help); exit}

::Version = MyApp::VERSION
opts.order! ARGV
CMD = ARGV.shift

MyApp.new.start CMD, OPT

早起き

| 07:12 |  早起きを含むブックマーク

昨日ベッドで本を読んでたらPM10時前にそのまま寝てしまい、AM4:00に目が覚めた。しょうがないのでそのままシャワー浴びて日曜プログラミング。早起き、結構いいかも。平日に定時に上がれるならこういう生活がいい。