*Rubyからの利用 [#l5e5c47b]

Scalarisは、JSON-RPCから利用することができます。
付属のスクリプトを参考に、使用方法について触れます。
ここでは値の書き込み用のスクリプトと、読み込み用のスクリプトを
サンプルとして紹介します。

*参考スクリプト [#v9cc3184]

contrib/jsonrpc.rbを元に作成しています。
また、単なるread/writeでは使用しない処理は省いています。

 #!/usr/bin/ruby
 
 require 'json'
 require 'net/http'
 
 $url = 'http://localhost:8000/jsonrpc.yaws'
 
 def json_call(function, params)
   uri = URI.parse $url
   req = Net::HTTP::Post.new(uri.path)
   req.add_field 'Content-Type', 'application/json'
   req.body =
     {
     :version => '1.1',
     :method => function,
     :params => params,
     :id => 0}.to_json
   res = Net::HTTP.start(uri.host, uri.port){|http|http.request(req)}
   JSON.parse(res.body)['result']
 end
 
 def read(key)
   json_call('read', [key])
 end
 
 def write(key, value)
   json_call('write', [key, value])
 end

key/valueの読み込み、書き出しを行う関数を定義しています。

*書き込み用スクリプト [#b5561467]

例えばコマンドラインからkey/valueを指定して
書き込むスクリプトであれば、以下の処理を追加することで作成できます。~
また、書き出しに成功した場合はresultにokという値が入ります。

 result = write(ARGV[0],ARGV[1])
 puts result

*読み込み用スクリプト [#hd51b619]

コマンドラインからkeyを指定して、
対応するvalueを表示するスクリプトであれば、
以下の処理を追加することで作成できます。
resultにはvalueの値が入ります。

 result = read(ARGV[0])
 puts result

*サンプルスクリプト [#l073973b]

それぞれreader.rb、writer.rbとして作成してあります。
#ref(reader.rb)
#ref(writer.rb)


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS