マックチームに愛の手を! terminal使ってくれますか?

世の中同様、会社のマックチームは不遇で情報はあるのにアクセスする手段がない。マックチーム以外の人はそれぞれ必要に応じてMS-Access/Excelで情報の提供を受けることができるんですが、マックチームはそれができません。社内の情報系システムからはハッキリいって取り残されています。

で、フト思い立ったのが情報はサーバにあるんだからそっからとればいいじゃんっていう当たり前の事。win組のようにWebで見られない情報をいちいちExcelなぞにエクスポートしてもらってローカルでごちゃごちゃやる必要はマックチームはないんです。入社以来システム部、唯一のマカーとして(今や、プログラムを書くのも唯一になりつつある)ここは一番奮起するぞ!したほうがいいぞ!しようかな....

XMLRPCに関しては、Rubyist Magazine - 標準添付ライブラリ紹介 【第 1 回】 XMLRPC4Rに詳しく載っていたのでそのまま利用できそう。とりあえず、お試しコード。


require 'xmlrpc/server'
require 'mysql'
   
s = XMLRPC::Server.new(8080,'10.0.0.1')

mysql = Mysql::new('localhost','user','pass','database')

s.add_handler('loveMac.get_info') do | id |
  result = Array.new
  mysql.query('set character set utf8')
  mysql.query("select name,addr from table where id > #{id}").each do | c |
  result << {
    'name' => c[0],
    'addr' => c[1]
  }
  end
  result
end
s.serve
mysql.close()

クライアントのほうは、weblogupdate.pingのコードを書いたことがあったので、すんなりそのまま。


require 'xmlrpc/client'

client = XMLRPC::Client.new2("http://10.0.0.1:8080/")
ok, result = client.call2("loveMac.get_info", 1)
if ok
  result.each do | r |
    r.each { | k,v |
      puts "#{k}:#{v}"
    }
  end
end

MacOSXには、Ruby標準添付だしこれでスクリプトさえ提供してあげればいろんな情報にアクセスできそうですね。ただ、通常はイラストレータ・フォトショしか触らないマックチーム、terminalからコマンドを叩いてくれるのでしょうか?

この記事のトラックバックURL:

http://hippos-lab.com/blog/trackback/142
スーパー夢らんど から 火, 2007/08/28 - 14:13 受信

DSC01516.jpg

いよいよ工事も始まりました。
イメージ画像は何度も見てますが、実際に建設が始まると、わく...

返信