roap_rpc 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5aa2aecd7a78036e70d9c2f90b23fccc89b9793d
4
+ data.tar.gz: be5c6a6768433fc4f589525961b853cb6cb96aab
5
+ SHA512:
6
+ metadata.gz: 0ff82cca5237eaf8cf9bf452e5d3f00554aed82f72a6ae4fb56aaa95e1dacd51cfd1af3cac4714b9cbe777536ceb4dc5742fbe0f055ecf11907f184af692941e
7
+ data.tar.gz: 7fdd2f5fe2d5279783f5c1da2a06c6d30eb98fa007b45eb4eb661520ad90b32e17c9b65ecf8f8b8af1d34fd47927a22659af9403bd5fc6c474e274e05e6ae344
data/lib/roap_rpc.rb ADDED
@@ -0,0 +1,2 @@
1
+
2
+ require_relative 'roap_rpc/extension'
@@ -0,0 +1,27 @@
1
+ require 'xmlrpc/server'
2
+
3
+ module Roap
4
+ module RpcExtension
5
+ extend Roap::AttributeBase
6
+
7
+ @@server = XMLRPC::Server.new
8
+
9
+ #static
10
+ on /rpc()/ do |klass, method, md|
11
+ @@server.add_handler("#{klass}::#{method.name}") do |*args|
12
+ klass.singleton_method(method.name).call *args
13
+ end
14
+ end
15
+
16
+ #runtime
17
+ on /from-rpc (?<server>.*)/ do |_super, md, *args|
18
+ server = instance_eval md[:server]
19
+
20
+ server.call("#{_super.owner}::#{_super.name}", *args)
21
+ end
22
+
23
+ def self.serve
24
+ @@server.serve
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,59 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: roap_rpc
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - pjc0247
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-11-27 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: roap
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: aop for ruby
28
+ email:
29
+ - pjc0247@naver.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/roap_rpc.rb
35
+ - lib/roap_rpc/extension.rb
36
+ homepage: http://github.com/pjc0247/roap_test_helper
37
+ licenses: []
38
+ metadata: {}
39
+ post_install_message:
40
+ rdoc_options: []
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ requirements: []
54
+ rubyforge_project: roap_rpc
55
+ rubygems_version: 2.4.5
56
+ signing_key:
57
+ specification_version: 4
58
+ summary: aop for ruby
59
+ test_files: []