sikulix 1.1.0.3 → 1.1.4.0
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.
- checksums.yaml +4 -4
- data/lib/sikulix/platform.rb +2 -2
- data/lib/sikulix/sikulix.rb +41 -78
- metadata +11 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 490fa003b67f867a66376c9f976594608f817c4d
|
4
|
+
data.tar.gz: 6d5462a07769b291b29b0a728f1aaf7e008f23ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c8dd52131ad1612e31a1e0d9458127023fabd7bdc25833d51fb67cafea5563a93122c56148ad4aa360e47e0b68d0b254eee90f773e907aebeb95ecfcc449fe55
|
7
|
+
data.tar.gz: e9d407765e5cb56bd7e75b020634504bba817ff3f9bab8a70dfc9fdfe0a33704b69afb4523f10c86375d2dec6cbfac628e4ce05790c0caef094e8ec7d5760a82
|
data/lib/sikulix/platform.rb
CHANGED
@@ -4,8 +4,8 @@ module Sikulix
|
|
4
4
|
class Platform
|
5
5
|
def self.check_and_require
|
6
6
|
begin
|
7
|
-
# check running from
|
8
|
-
java_import org.sikuli.
|
7
|
+
# check running from SikuliX
|
8
|
+
java_import org.sikuli.script.Sikulix
|
9
9
|
rescue
|
10
10
|
# check external jar
|
11
11
|
sikulix_path = (ENV['SIKULIXAPI_JAR'] || ENV['SIKULIX_HOME'] || "").chomp(' ')
|
data/lib/sikulix/sikulix.rb
CHANGED
@@ -6,53 +6,41 @@ require 'java'
|
|
6
6
|
# Classes and methods for using SikuliX
|
7
7
|
module Sikulix
|
8
8
|
private
|
9
|
-
|
10
9
|
# 'private' for avoiding of unexpected effects when
|
11
10
|
# 'include Sikulix' is used.
|
11
|
+
java_import java.net.Socket
|
12
12
|
|
13
|
-
java_import org.sikuli.script.
|
14
|
-
|
15
|
-
java_import org.sikuli.script.Region
|
16
|
-
java_import org.sikuli.script.ScreenUnion
|
13
|
+
java_import org.sikuli.script.support.RunTime
|
14
|
+
$RUNTIME = RunTime.get()
|
17
15
|
|
18
|
-
java_import org.sikuli.script.
|
19
|
-
java_import org.sikuli.script.ObserverCallBack
|
16
|
+
java_import org.sikuli.script.Sikulix
|
20
17
|
|
18
|
+
java_import org.sikuli.basics.Settings
|
21
19
|
java_import org.sikuli.script.Constants
|
22
|
-
java_import org.sikuli.script.Finder
|
23
|
-
java_import org.sikuli.script.ImageFinder
|
24
|
-
java_import org.sikuli.script.ImageFind
|
25
|
-
|
26
20
|
java_import org.sikuli.script.Button
|
27
21
|
java_import org.sikuli.basics.OS
|
28
22
|
|
29
|
-
java_import org.sikuli.
|
30
|
-
|
23
|
+
java_import org.sikuli.basics.Debug
|
24
|
+
|
25
|
+
java_import org.sikuli.script.Screen
|
26
|
+
java_import org.sikuli.script.Region
|
31
27
|
java_import org.sikuli.script.Location
|
28
|
+
java_import org.sikuli.script.Offset
|
32
29
|
|
33
30
|
java_import org.sikuli.script.ImagePath
|
34
31
|
java_import org.sikuli.script.Image
|
35
|
-
|
32
|
+
|
33
|
+
java_import org.sikuli.script.ObserverCallBack
|
34
|
+
java_import org.sikuli.script.ObserveEvent
|
35
|
+
|
36
|
+
java_import org.sikuli.script.Finder
|
37
|
+
java_import org.sikuli.script.Match
|
38
|
+
java_import org.sikuli.script.Pattern
|
36
39
|
|
37
40
|
java_import org.sikuli.script.App
|
38
41
|
java_import org.sikuli.script.Key
|
39
42
|
java_import org.sikuli.script.KeyModifier
|
40
43
|
java_import org.sikuli.script.Mouse
|
41
|
-
java_import org.sikuli.script.Keys
|
42
|
-
|
43
|
-
java_import org.sikuli.basics.Settings
|
44
|
-
java_import org.sikuli.basics.ExtensionManager
|
45
|
-
|
46
|
-
java_import org.sikuli.script.compare.DistanceComparator
|
47
|
-
java_import org.sikuli.script.compare.VerticalComparator
|
48
|
-
java_import org.sikuli.script.compare.HorizontalComparator
|
49
|
-
|
50
|
-
java_import org.sikuli.basics.Debug
|
51
|
-
|
52
|
-
begin
|
53
|
-
java_import org.sikuli.scriptrunner.ScriptRunner
|
54
|
-
rescue
|
55
|
-
end
|
56
44
|
|
57
45
|
#
|
58
46
|
# This method generates a wrapper for Java Native exception processing
|
@@ -92,47 +80,6 @@ module Sikulix
|
|
92
80
|
private name
|
93
81
|
end
|
94
82
|
|
95
|
-
# Redefinition of native org.sikuli.script.Region class
|
96
|
-
class Region
|
97
|
-
# Service class for all callbacks processing
|
98
|
-
class RObserverCallBack < ObserverCallBack # :nodoc: all
|
99
|
-
def initialize(block)
|
100
|
-
super()
|
101
|
-
@block = block
|
102
|
-
end
|
103
|
-
%w(appeared vanished changed).each do |name|
|
104
|
-
define_method(name) do |*args|
|
105
|
-
@block.call(*(args.first @block.arity))
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
alias_method :java_onAppear, :onAppear
|
110
|
-
alias_method :java_onVanish, :onVanish
|
111
|
-
alias_method :java_onChange, :onChange
|
112
|
-
|
113
|
-
# Redefinition of the java method for Ruby specific
|
114
|
-
def onAppear(target, &block)
|
115
|
-
java_onAppear target, RObserverCallBack.new(block)
|
116
|
-
end
|
117
|
-
|
118
|
-
# Redefinition of the java method for Ruby specific
|
119
|
-
def onVanish(target, &block)
|
120
|
-
java_onVanish target, RObserverCallBack.new(block)
|
121
|
-
end
|
122
|
-
|
123
|
-
# Redefinition of the java method for Ruby specific
|
124
|
-
def onChange(&block)
|
125
|
-
java_onChange RObserverCallBack.new(block)
|
126
|
-
end
|
127
|
-
|
128
|
-
# alias_method :java_findAll, :findAll
|
129
|
-
# def findAll(*args)
|
130
|
-
# begin
|
131
|
-
# java_findAll(*args)
|
132
|
-
# rescue NativeException => e; raise e.message; end
|
133
|
-
# end
|
134
|
-
end
|
135
|
-
|
136
83
|
# Wrap following java-methods by an exception processor
|
137
84
|
native_exception_protect(
|
138
85
|
Region,
|
@@ -141,8 +88,22 @@ module Sikulix
|
|
141
88
|
:type, :paste, :observe]
|
142
89
|
)
|
143
90
|
|
144
|
-
# Default screen
|
91
|
+
# Default screen of host machine.
|
145
92
|
$SIKULI_SCREEN = Screen.new
|
93
|
+
# Screen used for undotted methods.
|
94
|
+
$DEFAULT_SCREEN = $SIKULI_SCREEN
|
95
|
+
|
96
|
+
# Replaces default screen for which all undotted methods are
|
97
|
+
# called with another screen
|
98
|
+
# example:
|
99
|
+
# setDefaultScreen($SIKULI_SCREEN)
|
100
|
+
# click(Location(10,10)) <- click will be performed on local screen
|
101
|
+
def setDefaultScreen(screen)
|
102
|
+
if screen.respond_to?(:click)
|
103
|
+
$DEFAULT_SCREEN = screen
|
104
|
+
Debug.log("Screen switched")
|
105
|
+
end
|
106
|
+
end
|
146
107
|
|
147
108
|
# This is an alternative for method generation using define_method
|
148
109
|
# # Generate hash of ('method name'=>method)
|
@@ -171,12 +132,13 @@ module Sikulix
|
|
171
132
|
|
172
133
|
# Generate static methods in Sikulix context
|
173
134
|
# for possible "undotted" methods.
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
135
|
+
Sikulix.java_class.java_class_methods.map(&:name).uniq.each do |name|
|
136
|
+
obj_method = Sikulix.method(name)
|
137
|
+
dynamic_def(name) { |*args, &block| obj_method.call(*args, &block) }
|
138
|
+
end
|
139
|
+
|
140
|
+
$SIKULI_SCREEN.java_class.java_instance_methods.map(&:name).uniq.each do |name|
|
141
|
+
dynamic_def(name) { |*args, &block| $DEFAULT_SCREEN.method(name).call(*args, &block) }
|
180
142
|
end
|
181
143
|
|
182
144
|
# TODO: check it after Env Java-class refactoring
|
@@ -219,10 +181,11 @@ module Sikulix
|
|
219
181
|
|
220
182
|
# Generate methods like constructors.
|
221
183
|
# Example: Pattern("123.png").similar(0.5)
|
222
|
-
[Pattern, Region, Screen, App
|
184
|
+
[Pattern, Region, Screen, App].each do |cl|
|
223
185
|
name = cl.java_class.simple_name
|
224
186
|
dynamic_def(name) { |*args| cl.new(*args) }
|
225
187
|
end
|
188
|
+
dynamic_def("Location") { |*args| Location.new(*args).setOtherScreen($DEFAULT_SCREEN) }
|
226
189
|
end
|
227
190
|
|
228
191
|
# This is an alternative for method generation using define_method
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sikulix
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.0
|
4
|
+
version: 1.1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Roman S Samarev
|
8
8
|
- Raimund Hocke
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-04-04 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
|
-
description:
|
15
|
-
email:
|
14
|
+
description: SikuliX Java API Wrapper (sikulixapi.jar version 1.1.4+)
|
15
|
+
email: sikulix@outlook.com
|
16
16
|
executables: []
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
@@ -24,24 +24,24 @@ homepage: http://sikulix.com
|
|
24
24
|
licenses:
|
25
25
|
- MIT
|
26
26
|
metadata: {}
|
27
|
-
post_install_message:
|
27
|
+
post_install_message:
|
28
28
|
rdoc_options: []
|
29
29
|
require_paths:
|
30
30
|
- lib
|
31
31
|
required_ruby_version: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
|
-
- -
|
33
|
+
- - ">="
|
34
34
|
- !ruby/object:Gem::Version
|
35
35
|
version: '0'
|
36
36
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
requirements: []
|
42
|
-
rubyforge_project:
|
43
|
-
rubygems_version: 2.
|
44
|
-
signing_key:
|
42
|
+
rubyforge_project:
|
43
|
+
rubygems_version: 2.5.2.3
|
44
|
+
signing_key:
|
45
45
|
specification_version: 4
|
46
46
|
summary: Sikulix gem
|
47
47
|
test_files: []
|