- 追加された行はこの色です。
- 削除された行はこの色です。
*Rubyからの利用 [#r991a748]
Scalarisは、JSON-RPCから利用することができます。
付属のスクリプトを参考に、使用方法について触れます。
ここでは値の書き込み用のスクリプトと、読み込み用のスクリプトを
サンプルとして紹介します。
*参考スクリプト [#of907988]
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の読み込み、書き出しを行う関数を定義しています。
*書き込み用スクリプト [#if126ff3]
例えばコマンドラインからkey/valueを指定して
書き込むスクリプトであれば、以下の処理を追加することで作成できます。~
また、書き出しに成功した場合はresultにokという値が入ります。
result = write(ARGV[0],ARGV[1])
puts result
*読み込み用スクリプト [#i102f58c]
コマンドラインからkeyを指定して、
対応するvalueを表示するスクリプトであれば、
以下の処理を追加することで作成できます。
resultにはvalueの値が入ります。
result = read(ARGV[0])
puts result
*サンプルスクリプト [#z034523f]
それぞれreader.rb、writer.rbとして作成してあります。
#ref(reader.rb)
#ref(writer.rb)