[紹介] HTTPでdRubyと同じようにリモートメソッドを呼び出すNetworkFacade

Posted filed under Ruby on Rails.

 dRubyは専用のプロトコルを使って、リモートアクセス用のクライアントとサーバを構築しますが、NetworkFacadeを使うことで、HTTPを使ってRubyのオブジェクトのやりとりをすることが出来るようになります。  dRubyを使ったことがある人なら、ほとんど同じように使うことができます。簡単なサンプルが、プロジェクトのページに記載されているので、ぜひ参考にしてみてください。  こちらでも簡単なオブジェクトは試しましたが、まだ出たばかりなので、エラー処理などが正しく行われているかに不安が残ります。  同時に既存のXML/RPCやRESTをオブジェクトにバインドすることもできます。 Wikipediaを呼び出すのは下記の様なコードになります。 #!/usr/bin/env ruby require ‘rubygems’ require ‘network-facade’ class Wikipedia < NetworkFacade::REST::Client ‘http://wikipedia.simpleapi.net/’   mapping :keyword, ‘/api’ end wikipedia = Wikipedia.new wikipedia.keyword(:keyword => ‘Ruby on Rails’).root.elements.each(“*/body”) do |e|   puts e end  ファイアウォールなどの都合で、HTTPを使って外部のRubyサーバと手軽に通信したいときにどうぞ。