delirium 0.1.0 → 0.2.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/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile.lock +2 -2
- data/delirium.gemspec +1 -1
- data/lib/delirium.rb +3 -3
- data/lib/delirium/platform.rb +21 -0
- data/lib/delirium/platform/base.rb +25 -0
- data/lib/delirium/platform/base/keyboard.rb +23 -0
- data/lib/delirium/platform/base/mouse.rb +11 -0
- data/lib/delirium/platform/darwin.rb +9 -0
- data/lib/delirium/platform/darwin/keyboard.rb +38 -0
- data/lib/delirium/platform/darwin/mouse.rb +11 -0
- data/lib/delirium/platform/linux.rb +9 -0
- data/lib/delirium/platform/linux/keyboard.rb +32 -0
- data/lib/delirium/platform/linux/mouse.rb +11 -0
- data/lib/delirium/platform/windows.rb +9 -0
- data/lib/delirium/platform/windows/keyboard.rb +28 -0
- data/lib/delirium/platform/windows/mouse.rb +11 -0
- data/lib/delirium/version.rb +1 -1
- metadata +20 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f82cc3de8c5cd756ef19491f041b3263fc864107866225b22cd21ef77eda1f15
|
4
|
+
data.tar.gz: f9bcd42b71058c20269f5e386be9a0a56eaea680fa8e63ff342be8c6ecdbbfb9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04ba47c91ad4ba254db5b6ae3b904010471b2f81b3d633057e58f67c0313a14efae16d052ec6193b824c1d4cc583daa61cd6cb3268f82924c427fe6c457582b4
|
7
|
+
data.tar.gz: 79850bcd4098b48b38df6d76e5e73306a4773d8db54a094ff544682ac2c9344f5e05afdaf0155b968e263ec635e6911224dabc64f2bf11e0074178743504af2e
|
data/.ruby-gemset
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
delirium
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.5.1
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
delirium (0.
|
4
|
+
delirium (0.2.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -26,7 +26,7 @@ PLATFORMS
|
|
26
26
|
ruby
|
27
27
|
|
28
28
|
DEPENDENCIES
|
29
|
-
bundler (~> 1.
|
29
|
+
bundler (~> 1.16)
|
30
30
|
delirium!
|
31
31
|
rake (~> 10.0)
|
32
32
|
rspec (~> 3.0)
|
data/delirium.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
-
spec.add_development_dependency "bundler", "~> 1.
|
24
|
+
spec.add_development_dependency "bundler", "~> 1.16"
|
25
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
26
26
|
spec.add_development_dependency "rspec", "~> 3.0"
|
27
27
|
end
|
data/lib/delirium.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
def self.class_for_current_platform
|
4
|
+
case RUBY_PLATFORM.downcase
|
5
|
+
when /darwin/
|
6
|
+
Delirium::Platform::Darwin
|
7
|
+
when /linux/
|
8
|
+
Delirium::Platform::Linux
|
9
|
+
when /cygwin|mswin|mingw|bccwin|wince|emx/
|
10
|
+
Delirium::Platform::Windows
|
11
|
+
else
|
12
|
+
raise Delirium::Error, "Unsupported Platform: #{platform}"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
require_relative "platform/base"
|
19
|
+
require_relative "platform/darwin"
|
20
|
+
require_relative "platform/linux"
|
21
|
+
require_relative "platform/windows"
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
class Base
|
4
|
+
def initialize
|
5
|
+
@mouse = eval "#{self.class.name}::Mouse.new"
|
6
|
+
@keyboard = eval "#{self.class.name}::Keyboard.new"
|
7
|
+
end
|
8
|
+
|
9
|
+
def do(device:, action:, params:)
|
10
|
+
case device
|
11
|
+
when :mouse
|
12
|
+
@mouse.send action, params
|
13
|
+
when :keyboard
|
14
|
+
@keyboard.send action, params
|
15
|
+
else
|
16
|
+
raise Delirium::Error, "unknown device: #{device}"
|
17
|
+
end
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
require_relative "base/mouse"
|
25
|
+
require_relative "base/keyboard"
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
class Base
|
4
|
+
class Keyboard
|
5
|
+
def key_press(string_or_symbol)
|
6
|
+
raise Delirium::Error, "not implemented"
|
7
|
+
end
|
8
|
+
|
9
|
+
def key_down(string_or_symbol)
|
10
|
+
raise Delirium::Error, "not implemented"
|
11
|
+
end
|
12
|
+
|
13
|
+
def key_up(string_or_symbol)
|
14
|
+
raise Delirium::Error, "not implemented"
|
15
|
+
end
|
16
|
+
|
17
|
+
def write(string)
|
18
|
+
raise Delirium::Error, "not implemented"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
class Darwin
|
4
|
+
class Keyboard < Base::Keyboard
|
5
|
+
def key_press(key:)
|
6
|
+
case key
|
7
|
+
when String
|
8
|
+
`cliclick t:#{key}`
|
9
|
+
when Symbol
|
10
|
+
cliclick_key = case key
|
11
|
+
when :cmd
|
12
|
+
when :volume_up
|
13
|
+
"volume-up"
|
14
|
+
when :volume_down
|
15
|
+
"volume-down"
|
16
|
+
else
|
17
|
+
key
|
18
|
+
end
|
19
|
+
|
20
|
+
`cliclick kp:#{cliclick_key}` if cliclick_key
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def key_down(key:)
|
25
|
+
`cliclick kd:#{key}`
|
26
|
+
end
|
27
|
+
|
28
|
+
def key_up(key:)
|
29
|
+
`cliclick ku:#{key}`
|
30
|
+
end
|
31
|
+
|
32
|
+
def write(string:)
|
33
|
+
`cliclick t:#{string}`
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
class Linux
|
4
|
+
class Keyboard < Base::Keyboard
|
5
|
+
def key_press(key:)
|
6
|
+
case key
|
7
|
+
when Symbol
|
8
|
+
`xdotool type '#{key}'`
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def key_down(key:)
|
13
|
+
case key
|
14
|
+
when Symbol
|
15
|
+
`xdotool keydown '#{key}'`
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def key_up(key:)
|
20
|
+
case key
|
21
|
+
when Symbol
|
22
|
+
`xdotool keyup '#{key}'`
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def write(string:)
|
27
|
+
`xdotool type '#{string}'`
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Delirium
|
2
|
+
module Platform
|
3
|
+
class Windows
|
4
|
+
class Keyboard < Base::Keyboard
|
5
|
+
def key_press(key:)
|
6
|
+
case key
|
7
|
+
when Symbol
|
8
|
+
`nircmd.exe sendkey #{key} press`
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def key_down(key:)
|
13
|
+
case key
|
14
|
+
when Symbol
|
15
|
+
`nircmd.exe sendkey #{key} down`
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def key_up(key:)
|
20
|
+
case key
|
21
|
+
when Symbol
|
22
|
+
`nircmd.exe sendkey #{key} up`
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/delirium/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: delirium
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Superbot HQ
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.16'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '1.
|
26
|
+
version: '1.16'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,6 +60,8 @@ extra_rdoc_files: []
|
|
60
60
|
files:
|
61
61
|
- ".gitignore"
|
62
62
|
- ".rspec"
|
63
|
+
- ".ruby-gemset"
|
64
|
+
- ".ruby-version"
|
63
65
|
- ".travis.yml"
|
64
66
|
- Gemfile
|
65
67
|
- Gemfile.lock
|
@@ -70,6 +72,19 @@ files:
|
|
70
72
|
- bin/setup
|
71
73
|
- delirium.gemspec
|
72
74
|
- lib/delirium.rb
|
75
|
+
- lib/delirium/platform.rb
|
76
|
+
- lib/delirium/platform/base.rb
|
77
|
+
- lib/delirium/platform/base/keyboard.rb
|
78
|
+
- lib/delirium/platform/base/mouse.rb
|
79
|
+
- lib/delirium/platform/darwin.rb
|
80
|
+
- lib/delirium/platform/darwin/keyboard.rb
|
81
|
+
- lib/delirium/platform/darwin/mouse.rb
|
82
|
+
- lib/delirium/platform/linux.rb
|
83
|
+
- lib/delirium/platform/linux/keyboard.rb
|
84
|
+
- lib/delirium/platform/linux/mouse.rb
|
85
|
+
- lib/delirium/platform/windows.rb
|
86
|
+
- lib/delirium/platform/windows/keyboard.rb
|
87
|
+
- lib/delirium/platform/windows/mouse.rb
|
73
88
|
- lib/delirium/version.rb
|
74
89
|
homepage: https://github.com/superbot-hq/delirium
|
75
90
|
licenses:
|
@@ -91,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
91
106
|
version: '0'
|
92
107
|
requirements: []
|
93
108
|
rubyforge_project:
|
94
|
-
rubygems_version: 2.7.
|
109
|
+
rubygems_version: 2.7.8
|
95
110
|
signing_key:
|
96
111
|
specification_version: 4
|
97
112
|
summary: desktop selenium
|