Skip to content

Repository files navigation

$ gem install rpcoder
#!/usr/bin/env rubyrequire'rpcoder'require'fileutils'RPCoder.name_space = 'foo.bar.rpc'RPCoder.api_class_name = 'RPC'RPCoder.type"Mail"do|t|t.add_field:subject, :Stringt.add_field:body, :StringendRPCoder.function"getMail"do|f|f.path = "/mails/:id"# => ("/mails/" + id)f.method = "GET"f.add_return_type:mail, "Mail"f.add_param:id, "int"f.description = 'メールを取得'endRPCoder.function"getMails"do|f|f.path = "/mails"f.method = "GET"f.add_return_type:mails, "Mail", {:array?=>true}
f.description = 'メールを送信'endRPCoder.function"sendMail"do|f|f.path = "/mails/create"f.method = "POST"f.add_param:subject, "String"f.add_param:body, "String"f.description = 'メールを送信'end# output codesdir = File.expand_path('src', File.dirname(__FILE__))
RPCoder.export(dir)
var rpc:RPC = new RPC('http://localhost:3000');
rpc.getMail(1, function(mail:Mail):void {
// success
}, function():void {
// failure
})
rpc.getMails(function(mails:Array):void {
// success

for each (var mail as Mail in mails) { }

}, function():void {
// failure
})

Dummy RPC works standalone. You can set anything responses at callback.

var rpc:RPCInterface = new RPCDummy();
(rpc as RPCDummy).setDummySuccess("getMail", [
Mail.create('foo', 'bar')
]);
rpc.getMail(function(mail:Mail):void {
// success
// responded mail as dummy
}, function():void {
// error
});
// rpc.getMail() may callback as error.
(rpc as RPCDummy).setDummyError("getMail", true);

About

RPC generator

Resources

Stars

10 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages