ruby-proxy 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/atu/sikuli.rb CHANGED
@@ -4,12 +4,8 @@ require 'java'
4
4
  #This is key to making it work under ruby. The path above is the default
5
5
  #installation location on the Mac which contains all of the
6
6
  #relevant sikuli jar files.
7
- require "sikuli-script.jar"
7
+ require "atu/sikuli-script.jar"
8
8
 
9
- module B
10
- class C
11
- end
12
- end
13
9
 
14
10
 
15
11
  #~ include Java
@@ -18,10 +14,10 @@ module ATU
18
14
  java_import 'org.sikuli.script.Region'
19
15
  java_import 'org.sikuli.script.Screen'
20
16
  java_import 'org.sikuli.script.Settings'
17
+ java_import 'org.sikuli.script.Pattern'
21
18
  java_import 'org.sikuli.script.SikuliEvent'
22
19
  java_import 'org.sikuli.script.SikuliScript'
23
20
  include Java::OrgSikuliScript
24
- include B
25
21
  end
26
22
  #Sikuli = Java::OrgSikuliScript
27
23
  end
@@ -0,0 +1,6 @@
1
+ require 'drb'
2
+ module DRb
3
+ class DRbObject
4
+ undef :type
5
+ end
6
+ end
@@ -1,4 +1,5 @@
1
1
  require 'drb'
2
+ require 'ext/drb_ext'
2
3
  require 'timeout'
3
4
  require 'socket'
4
5
  require 'logger'
@@ -12,7 +13,7 @@ module ATU
12
13
  end
13
14
 
14
15
  def self.make_kclass(name,type)
15
- puts "make_kclass: #{name}, #{type}"
16
+ #puts "make_kclass: #{name}, #{type}"
16
17
  case type
17
18
  when "Class"
18
19
  RubyProxy::KlassFactory.make_class(name) do |klass|
@@ -20,7 +21,21 @@ module ATU
20
21
  def initialize(*arg)
21
22
  #puts self.class.to_s
22
23
  @proxy = RubyProxy::DRbClient.client.proxy(self.class.to_s,"new",*arg)
24
+ # undef type method
25
+ # I think all methods should be proxyed by remote
26
+ #~ class << @proxy
27
+ #~ undef :type
28
+ #~ end
23
29
  end
30
+ undef :type
31
+ undef :to_s
32
+ undef :to_a if respond_to?(:to_a)
33
+ undef :methods
34
+
35
+ def __proxy
36
+ @proxy
37
+ end
38
+
24
39
  def method_missing(name,*arg)
25
40
  #return if @proxy.nil?
26
41
  #puts "#{@proxy.methods(false)}"
@@ -158,8 +173,13 @@ module RubyProxy
158
173
  @@logger.info "start jruby proxy server..."
159
174
  org_path = Dir.pwd
160
175
  Dir.chdir(File.join(File.dirname(__FILE__),'..')) do
161
- system("start /I /B jruby ruby_proxy/server.rb #{@ip} #{@port} #{org_path} ")#> #{@start_service_log_path} 2>&1")
162
- end
176
+ # we can start jruby proxy or ruby
177
+ # just change here command
178
+ temp = ENV["RUBYOPT"]
179
+ ENV["RUBYOPT"] = "-rubygems"
180
+ system("start /I /B jruby ruby_proxy/server.rb #{@ip} #{@port} \"#{org_path}\" ")#> #{@start_service_log_path} 2>&1")
181
+ ENV["RUBYOPT"] = temp
182
+ end
163
183
  end
164
184
  wait_until_server_start_time(t)
165
185
  end
@@ -8,7 +8,7 @@ module RubyProxy
8
8
  # you can use Proxy.load_path << "" to add load path
9
9
  ProxyLoad.load
10
10
  @@logger = Logger.new(STDOUT)
11
- @@logger.level = Logger::DEBUG
11
+ @@logger.level = Logger::INFO
12
12
 
13
13
  def self.proxy(klass_name,method=nil,*arg)
14
14
  @@logger.debug "klass_name= #{klass_name}"
@@ -2,7 +2,7 @@ require 'logger'
2
2
  module RubyProxy
3
3
  class ProxyLoad
4
4
  @@logger = Logger.new(STDOUT)
5
- @@logger.level = Logger::DEBUG
5
+ @@logger.level = Logger::INFO
6
6
  @load_path = ['atu']
7
7
  class <<self
8
8
  attr_accessor :load_path
@@ -1,5 +1,6 @@
1
1
  require 'drb'
2
2
  require 'ruby_proxy/proxy'
3
+ require 'drb/timeridconv'
3
4
  module RubyProxy
4
5
  class DRbServer
5
6
  @ip = "127.0.0.1"
@@ -8,6 +9,7 @@ module RubyProxy
8
9
  attr_writer :ip,:port
9
10
  end
10
11
  def self.start_service
12
+ DRb.install_id_conv(DRb::TimerIdConv.new)
11
13
  DRb.start_service("druby://#{@ip}:#{@port}",Proxy)
12
14
  DRb.thread.join
13
15
  end
@@ -1,3 +1,3 @@
1
1
  module RubyProxy
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -88,6 +88,24 @@ module ATU
88
88
  end
89
89
  end
90
90
 
91
+ class Hello7
92
+ def to_a
93
+ puts "call to_a"
94
+ [1,2,3]
95
+ end
96
+ def type(a)
97
+ puts "call type"
98
+ "a"
99
+ end
100
+ def to_s
101
+ puts "call to_s"
102
+ return "b"
103
+ end
104
+ def normal
105
+ "normal"
106
+ end
107
+ end
108
+
91
109
  end
92
110
 
93
111
  end
@@ -21,7 +21,7 @@ class TestDrbProxy < Test::Unit::TestCase
21
21
  end
22
22
  def test_atu_ok
23
23
  a = ATU::Hello.new
24
- puts "aaa= #{a}"
24
+ #~ puts "aaa= #{a}"
25
25
  assert_equal(1,a.return_1)
26
26
  assert_equal("1",a.return_str_1)
27
27
  end
@@ -115,7 +115,10 @@ class TestDrbProxy < Test::Unit::TestCase
115
115
  assert([1,"1"],ATU::M1::Hello6.a(1,"1"))
116
116
  assert("m",ATU::M1::m)
117
117
  end
118
+
118
119
  # failed, fix me
120
+ # I have not seen druby's block call. That not be supported to call block.
121
+ # I will do fixing it later.
119
122
  def test_block_ok
120
123
  a = ATU::M1::Hello6.new
121
124
  assert_equal(1,a.a() {|i| i})
@@ -127,4 +130,15 @@ class TestDrbProxy < Test::Unit::TestCase
127
130
  assert_equal(true,ATU::M1::Hello6.file_exist?(path))
128
131
  end
129
132
 
133
+ #now pass it
134
+ # it seems sometimes druby in jruby has some bugs like concurrent problem.
135
+ # other time, I will fix it.
136
+ def test_specify_method_support
137
+ hello7 = ATU::M1::Hello7.new
138
+ assert_equal([1,2,3],hello7.to_a)
139
+ assert_equal("a",hello7.type("b"))
140
+ assert_equal("b",hello7.to_s)
141
+ assert_equal("normal",hello7.normal)
142
+ end
143
+
130
144
  end
metadata CHANGED
@@ -1,7 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 3
9
+ version: 0.0.3
5
10
  platform: ruby
6
11
  authors:
7
12
  - yafei Li
@@ -9,7 +14,7 @@ autorequire:
9
14
  bindir: bin
10
15
  cert_chain: []
11
16
 
12
- date: 2011-08-10 00:00:00 +08:00
17
+ date: 2011-08-26 00:00:00 +08:00
13
18
  default_executable:
14
19
  dependencies: []
15
20
 
@@ -22,50 +27,60 @@ extensions: []
22
27
  extra_rdoc_files: []
23
28
 
24
29
  files:
25
- - lib/atu
26
30
  - lib/atu/key.rb
27
31
  - lib/atu/sikuli-script.jar
28
32
  - lib/atu/sikuli.rb
29
- - lib/ruby_proxy
33
+ - lib/ext/drb_ext.rb
30
34
  - lib/ruby_proxy/client.rb
31
35
  - lib/ruby_proxy/proxy.rb
32
36
  - lib/ruby_proxy/proxy_load.rb
33
37
  - lib/ruby_proxy/server.rb
34
38
  - lib/ruby_proxy/version.rb
35
39
  - lib/ruby_proxy.rb
36
- has_rdoc: false
40
+ - unittests/all_tests.rb
41
+ - unittests/setup.rb
42
+ - unittests/support/atu/hello.rb
43
+ - unittests/support/image/search.png
44
+ - unittests/support/image/start.png
45
+ - unittests/test_drb_proxy.rb
46
+ - unittests/test_sikuli_api.rb
47
+ - unittests/your_jruby_sikuli_config_ok.rb
48
+ has_rdoc: true
37
49
  homepage: https://github.com/windy/ruby_proxy
50
+ licenses: []
51
+
38
52
  post_install_message:
39
53
  rdoc_options: []
40
54
 
41
55
  require_paths:
42
56
  - lib
43
57
  required_ruby_version: !ruby/object:Gem::Requirement
58
+ none: false
44
59
  requirements:
45
60
  - - ">="
46
61
  - !ruby/object:Gem::Version
62
+ segments:
63
+ - 0
47
64
  version: "0"
48
- version:
49
65
  required_rubygems_version: !ruby/object:Gem::Requirement
66
+ none: false
50
67
  requirements:
51
68
  - - ">="
52
69
  - !ruby/object:Gem::Version
70
+ segments:
71
+ - 0
53
72
  version: "0"
54
- version:
55
73
  requirements: []
56
74
 
57
75
  rubyforge_project: ruby-proxy
58
- rubygems_version: 1.3.1
76
+ rubygems_version: 1.3.7
59
77
  signing_key:
60
- specification_version: 2
78
+ specification_version: 3
61
79
  summary: Ruby Proxy for Jruby.
62
80
  test_files:
63
81
  - unittests/all_tests.rb
64
82
  - unittests/setup.rb
65
- - unittests/support
66
- - unittests/support/atu
67
83
  - unittests/support/atu/hello.rb
68
- - unittests/support/image
69
84
  - unittests/support/image/search.png
70
85
  - unittests/support/image/start.png
71
86
  - unittests/test_drb_proxy.rb