Rubyからの利用

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

参考スクリプト

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の読み込み、書き出しを行う関数を定義しています。

書き込み用スクリプト

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

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

読み込み用スクリプト

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

result = read(ARGV[0])
puts result

サンプルスクリプト

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

filereader.rb
filewriter.rb

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS