atrea_control 3.0.0 → 3.1.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/.github/workflows/main.yml +1 -1
- data/.gitignore +1 -0
- data/.rubocop.yml +1 -1
- data/.ruby-version +1 -1
- data/CHANGELOG.md +11 -0
- data/Gemfile.lock +57 -49
- data/atrea_control.gemspec +4 -4
- data/lib/atrea_control/duplex/login.rb +54 -25
- data/lib/atrea_control/duplex/request.rb +7 -2
- data/lib/atrea_control/version.rb +2 -1
- metadata +30 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5690a9a78277344372417c1df8158c7b1b2becfdd461abd9c3bd46efdf93e46a
|
|
4
|
+
data.tar.gz: 22a0cbeefafd222b0670b674099d821dbbdbe1ad597218adb6694194e321724f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fb10dd338ab4969d9184b79f098901b3b0c9bf42e89d1fe1a106e2b97a83b9ec35bef7f8169d566991f95fc07f54d1fcfe257b3a339668cd09d633662f4f36e0
|
|
7
|
+
data.tar.gz: d1dc59a9dc1b00461e48d58c0f6388c6680619f4181eb56cf17612cb856e1d957084064f125024410d7bc5f86a06e7f338808f10b19d8f652e2b3ebced1e9d13
|
data/.github/workflows/main.yml
CHANGED
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.7
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
|
+
## [3.1.0] - 2025-11-14
|
|
3
|
+
### Changed
|
|
4
|
+
- upgrade dependencies
|
|
5
|
+
- replace RestClient by Faraday
|
|
6
|
+
|
|
7
|
+
## [3.0.1] - 2025-03-17
|
|
8
|
+
### Security
|
|
9
|
+
- upgrade gems
|
|
10
|
+
### Change
|
|
11
|
+
- update rubocop (plugins)
|
|
12
|
+
|
|
2
13
|
## [3.0.0] - 2025-01-25
|
|
3
14
|
### Removed
|
|
4
15
|
- selenium-based login procedure
|
data/Gemfile.lock
CHANGED
|
@@ -1,103 +1,110 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
atrea_control (3.
|
|
4
|
+
atrea_control (3.1.0)
|
|
5
|
+
faraday (~> 2.7)
|
|
6
|
+
faraday-cookie_jar (~> 0.0)
|
|
5
7
|
i18n (~> 1.14)
|
|
6
8
|
nokogiri (~> 1.15)
|
|
7
|
-
rest-client (~> 2.1)
|
|
8
9
|
|
|
9
10
|
GEM
|
|
10
11
|
remote: https://rubygems.org/
|
|
11
12
|
specs:
|
|
12
13
|
addressable (2.8.7)
|
|
13
14
|
public_suffix (>= 2.0.2, < 7.0)
|
|
14
|
-
ast (2.4.
|
|
15
|
-
bigdecimal (3.1
|
|
15
|
+
ast (2.4.3)
|
|
16
|
+
bigdecimal (3.3.1)
|
|
16
17
|
coderay (1.1.3)
|
|
17
18
|
concurrent-ruby (1.3.5)
|
|
18
|
-
crack (1.0.
|
|
19
|
+
crack (1.0.1)
|
|
19
20
|
bigdecimal
|
|
20
21
|
rexml
|
|
21
|
-
diff-lcs (1.
|
|
22
|
+
diff-lcs (1.6.2)
|
|
22
23
|
docile (1.4.1)
|
|
23
24
|
domain_name (0.6.20240107)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
faraday (2.14.0)
|
|
26
|
+
faraday-net_http (>= 2.0, < 3.5)
|
|
27
|
+
json
|
|
28
|
+
logger
|
|
29
|
+
faraday-cookie_jar (0.0.8)
|
|
30
|
+
faraday (>= 0.8.0)
|
|
31
|
+
http-cookie (>= 1.0.0)
|
|
32
|
+
faraday-net_http (3.4.2)
|
|
33
|
+
net-http (~> 0.5)
|
|
34
|
+
hashdiff (1.2.1)
|
|
35
|
+
http-cookie (1.1.0)
|
|
27
36
|
domain_name (~> 0.5)
|
|
28
37
|
i18n (1.14.7)
|
|
29
38
|
concurrent-ruby (~> 1.0)
|
|
30
|
-
json (2.
|
|
31
|
-
language_server-protocol (3.17.0.
|
|
32
|
-
|
|
39
|
+
json (2.16.0)
|
|
40
|
+
language_server-protocol (3.17.0.5)
|
|
41
|
+
lint_roller (1.1.0)
|
|
42
|
+
logger (1.7.0)
|
|
33
43
|
method_source (1.1.0)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
mime-types-data (3.2025.0107)
|
|
38
|
-
netrc (0.11.0)
|
|
39
|
-
nokogiri (1.18.2-arm64-darwin)
|
|
44
|
+
net-http (0.8.0)
|
|
45
|
+
uri (>= 0.11.1)
|
|
46
|
+
nokogiri (1.18.10-arm64-darwin)
|
|
40
47
|
racc (~> 1.4)
|
|
41
|
-
nokogiri (1.18.
|
|
48
|
+
nokogiri (1.18.10-x86_64-darwin)
|
|
42
49
|
racc (~> 1.4)
|
|
43
|
-
nokogiri (1.18.
|
|
50
|
+
nokogiri (1.18.10-x86_64-linux-gnu)
|
|
44
51
|
racc (~> 1.4)
|
|
45
|
-
parallel (1.
|
|
46
|
-
parser (3.3.
|
|
52
|
+
parallel (1.27.0)
|
|
53
|
+
parser (3.3.10.0)
|
|
47
54
|
ast (~> 2.4.1)
|
|
48
55
|
racc
|
|
56
|
+
prism (1.6.0)
|
|
49
57
|
pry (0.15.2)
|
|
50
58
|
coderay (~> 1.1)
|
|
51
59
|
method_source (~> 1.0)
|
|
52
|
-
public_suffix (6.0.
|
|
60
|
+
public_suffix (6.0.2)
|
|
53
61
|
racc (1.8.1)
|
|
54
62
|
rainbow (3.1.1)
|
|
55
|
-
rake (13.
|
|
56
|
-
regexp_parser (2.
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
http-cookie (>= 1.0.2, < 2.0)
|
|
60
|
-
mime-types (>= 1.16, < 4.0)
|
|
61
|
-
netrc (~> 0.8)
|
|
62
|
-
rexml (3.4.0)
|
|
63
|
-
rspec (3.13.0)
|
|
63
|
+
rake (13.3.1)
|
|
64
|
+
regexp_parser (2.11.3)
|
|
65
|
+
rexml (3.4.4)
|
|
66
|
+
rspec (3.13.2)
|
|
64
67
|
rspec-core (~> 3.13.0)
|
|
65
68
|
rspec-expectations (~> 3.13.0)
|
|
66
69
|
rspec-mocks (~> 3.13.0)
|
|
67
|
-
rspec-core (3.13.
|
|
70
|
+
rspec-core (3.13.6)
|
|
68
71
|
rspec-support (~> 3.13.0)
|
|
69
|
-
rspec-expectations (3.13.
|
|
72
|
+
rspec-expectations (3.13.5)
|
|
70
73
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
71
74
|
rspec-support (~> 3.13.0)
|
|
72
|
-
rspec-mocks (3.13.
|
|
75
|
+
rspec-mocks (3.13.7)
|
|
73
76
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
74
77
|
rspec-support (~> 3.13.0)
|
|
75
|
-
rspec-support (3.13.
|
|
76
|
-
rubocop (1.
|
|
78
|
+
rspec-support (3.13.6)
|
|
79
|
+
rubocop (1.81.7)
|
|
77
80
|
json (~> 2.3)
|
|
78
|
-
language_server-protocol (
|
|
81
|
+
language_server-protocol (~> 3.17.0.2)
|
|
82
|
+
lint_roller (~> 1.1.0)
|
|
79
83
|
parallel (~> 1.10)
|
|
80
84
|
parser (>= 3.3.0.2)
|
|
81
85
|
rainbow (>= 2.2.2, < 4.0)
|
|
82
86
|
regexp_parser (>= 2.9.3, < 3.0)
|
|
83
|
-
rubocop-ast (>= 1.
|
|
87
|
+
rubocop-ast (>= 1.47.1, < 2.0)
|
|
84
88
|
ruby-progressbar (~> 1.7)
|
|
85
89
|
unicode-display_width (>= 2.4.0, < 4.0)
|
|
86
|
-
rubocop-ast (1.
|
|
87
|
-
parser (>= 3.3.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
rubocop-ast (1.48.0)
|
|
91
|
+
parser (>= 3.3.7.2)
|
|
92
|
+
prism (~> 1.4)
|
|
93
|
+
rubocop-rspec (3.8.0)
|
|
94
|
+
lint_roller (~> 1.1)
|
|
95
|
+
rubocop (~> 1.81)
|
|
90
96
|
ruby-progressbar (1.13.0)
|
|
91
97
|
simplecov (0.22.0)
|
|
92
98
|
docile (~> 1.1)
|
|
93
99
|
simplecov-html (~> 0.11)
|
|
94
100
|
simplecov_json_formatter (~> 0.1)
|
|
95
|
-
simplecov-html (0.13.
|
|
101
|
+
simplecov-html (0.13.2)
|
|
96
102
|
simplecov_json_formatter (0.1.4)
|
|
97
|
-
unicode-display_width (3.
|
|
98
|
-
unicode-emoji (~> 4.
|
|
99
|
-
unicode-emoji (4.0
|
|
100
|
-
|
|
103
|
+
unicode-display_width (3.2.0)
|
|
104
|
+
unicode-emoji (~> 4.1)
|
|
105
|
+
unicode-emoji (4.1.0)
|
|
106
|
+
uri (1.1.1)
|
|
107
|
+
webmock (3.26.1)
|
|
101
108
|
addressable (>= 2.8.0)
|
|
102
109
|
crack (>= 0.3.2)
|
|
103
110
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
@@ -106,6 +113,7 @@ PLATFORMS
|
|
|
106
113
|
arm64-darwin-22
|
|
107
114
|
arm64-darwin-23
|
|
108
115
|
arm64-darwin-24
|
|
116
|
+
arm64-darwin-25
|
|
109
117
|
x86_64-darwin-20
|
|
110
118
|
x86_64-linux
|
|
111
119
|
|
|
@@ -120,4 +128,4 @@ DEPENDENCIES
|
|
|
120
128
|
webmock (~> 3.14)
|
|
121
129
|
|
|
122
130
|
BUNDLED WITH
|
|
123
|
-
2.
|
|
131
|
+
2.7.2
|
data/atrea_control.gemspec
CHANGED
|
@@ -18,9 +18,8 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
19
19
|
spec.metadata["source_code_uri"] = "https://github.com/luk4s/atrea_control"
|
|
20
20
|
spec.metadata["changelog_uri"] = "https://github.com/luk4s/atrea_control/CHANGELOG.md"
|
|
21
|
-
spec.metadata =
|
|
22
|
-
|
|
23
|
-
}
|
|
21
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
22
|
+
|
|
24
23
|
# Specify which files should be added to the gem when it is released.
|
|
25
24
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
26
25
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
@@ -36,7 +35,8 @@ Gem::Specification.new do |spec|
|
|
|
36
35
|
# For more information and examples about making a new gem, checkout our
|
|
37
36
|
# guide at: https://bundler.io/guides/creating_gem.html
|
|
38
37
|
|
|
38
|
+
spec.add_dependency "faraday", "~> 2.7"
|
|
39
|
+
spec.add_dependency "faraday-cookie_jar", "~> 0.0"
|
|
39
40
|
spec.add_dependency "i18n", "~> 1.14"
|
|
40
41
|
spec.add_dependency "nokogiri", "~> 1.15"
|
|
41
|
-
spec.add_dependency "rest-client", "~> 2.1"
|
|
42
42
|
end
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "nokogiri"
|
|
4
|
-
require "
|
|
4
|
+
require "faraday"
|
|
5
|
+
require "faraday-cookie_jar"
|
|
5
6
|
require "securerandom"
|
|
6
7
|
|
|
7
8
|
module AtreaControl
|
|
@@ -21,6 +22,7 @@ module AtreaControl
|
|
|
21
22
|
def initialize(login:, password:)
|
|
22
23
|
@login = login
|
|
23
24
|
@password = password
|
|
25
|
+
@jar = HTTP::CookieJar.new
|
|
24
26
|
end
|
|
25
27
|
|
|
26
28
|
# Perform login procedure for retrieve `sid` (auth_token)
|
|
@@ -29,8 +31,14 @@ module AtreaControl
|
|
|
29
31
|
def call
|
|
30
32
|
@sid = sid
|
|
31
33
|
if @sid == "0"
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
login_url = "#{AtreaControl::Duplex::CONTROL_URI}/apps/rd5Control/handle.php?" \
|
|
35
|
+
"action=unitLogin&user=#{user_id}&unit=#{unit_id}&table=userUnits&" \
|
|
36
|
+
"idPwd=#{unit[:iid]}&#{SecureRandom.hex(2)}&_ts=#{SecureRandom.hex(4)}"
|
|
37
|
+
re_login = connection.post(login_url) do |req|
|
|
38
|
+
req.body = { comm: "config/login.cgi?magic=" }
|
|
39
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
40
|
+
req.headers["App-name"] = "rd5Control"
|
|
41
|
+
end
|
|
34
42
|
time = Nokogiri::XML(re_login.body).at_xpath("//sended")["time"].to_i
|
|
35
43
|
logger.debug "Login in #{time} seconds..."
|
|
36
44
|
time.times do
|
|
@@ -55,9 +63,11 @@ module AtreaControl
|
|
|
55
63
|
# Retrieve user details from RD5 core.php?action=init
|
|
56
64
|
# @return [Hash] - user_id, name
|
|
57
65
|
def user
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
66
|
+
response = connection.get("#{AtreaControl::Duplex::CONTROL_URI}/core/core.php?action=init&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
67
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
68
|
+
req.headers["App-name"] = "rd5Control"
|
|
69
|
+
end
|
|
70
|
+
client = Nokogiri::XML(response.body).at_xpath("//client")
|
|
61
71
|
user_id = client["id"]
|
|
62
72
|
name = client["name"]
|
|
63
73
|
logger.debug "User ID: #{user_id}, User Name: #{name}"
|
|
@@ -71,10 +81,16 @@ module AtreaControl
|
|
|
71
81
|
|
|
72
82
|
# For some reason, this requests must be done before `unit_id` requested
|
|
73
83
|
def run_rd5_app
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
84
|
+
connection.post("#{AtreaControl::Duplex::CONTROL_URI}/core/core.php?Sync=1&action=run&object=app&lng=28&rVer=1&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
85
|
+
req.body = { name: "rd5Control", path: "apps/rd5Control/" }
|
|
86
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
87
|
+
req.headers["App-name"] = "rd5Control"
|
|
88
|
+
end
|
|
89
|
+
connection.post("#{AtreaControl::Duplex::CONTROL_URI}/core/core.php?Sync=1&action=load&object=setting&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
90
|
+
req.body = { path: "apps/rd5Control" }
|
|
91
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
92
|
+
req.headers["App-name"] = "rd5Control"
|
|
93
|
+
end
|
|
78
94
|
end
|
|
79
95
|
|
|
80
96
|
# Retrieve overview of RD5 unit
|
|
@@ -83,9 +99,11 @@ module AtreaControl
|
|
|
83
99
|
return @unit if @unit
|
|
84
100
|
|
|
85
101
|
# run_rd5_app
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
102
|
+
response = connection.get("#{AtreaControl::Duplex::CONTROL_URI}/_data/data.php?Sync=1&action=getdata&rH&rE&table=userUnits&ds=rd5&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
103
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
104
|
+
req.headers["App-name"] = "rd5Control"
|
|
105
|
+
end
|
|
106
|
+
item = Nokogiri::XML(response.body).at_xpath("//i")
|
|
89
107
|
unit_number = item["unit"]
|
|
90
108
|
iid = item["id"]
|
|
91
109
|
@unit ||= { unit_number:, iid: }
|
|
@@ -96,16 +114,20 @@ module AtreaControl
|
|
|
96
114
|
def unit_id
|
|
97
115
|
return @unit_id if @unit_id
|
|
98
116
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
117
|
+
response = connection.get("#{AtreaControl::Duplex::CONTROL_URI}/_data/data.php?Sync=1&action=getrecord&id=#{unit[:unit_number]}&table=units&ds=rd5&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
118
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
119
|
+
req.headers["App-name"] = "rd5Control"
|
|
120
|
+
end
|
|
121
|
+
@unit_id ||= Nokogiri::XML(response.body).at_xpath("//table/i")["ident"]
|
|
102
122
|
end
|
|
103
123
|
|
|
104
124
|
def sid
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
125
|
+
response = connection.get("#{AtreaControl::Duplex::CONTROL_URI}/apps/rd5Control/handle.php?Sync=1&action=unitQuery&query=loged&user=#{user_id}&unit=#{unit_id}&#{SecureRandom.hex(2)}&_ts=#{SecureRandom.hex(4)}") do |req|
|
|
126
|
+
req.headers["Cookie"] = "PHPSESSID=#{php_session_id}"
|
|
127
|
+
req.headers["App-name"] = "rd5Control"
|
|
128
|
+
end
|
|
129
|
+
logger.debug response.body
|
|
130
|
+
Nokogiri::XML(response.body).at_xpath("//login")["sid"]
|
|
109
131
|
end
|
|
110
132
|
|
|
111
133
|
# @!group Private methods
|
|
@@ -115,14 +137,21 @@ module AtreaControl
|
|
|
115
137
|
return @php_session_id if @php_session_id
|
|
116
138
|
|
|
117
139
|
payload = { username: @login, password: @password }
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
140
|
+
connection.post("#{AtreaControl::Duplex::CONTROL_URI}?action=login", payload)
|
|
141
|
+
|
|
142
|
+
# Extract PHPSESSID from cookie jar
|
|
143
|
+
cookies = @jar.cookies(URI.parse(AtreaControl::Duplex::CONTROL_URI))
|
|
144
|
+
@php_session_id = cookies.find { |c| c.name == "PHPSESSID" }&.value
|
|
121
145
|
@php_session_id
|
|
122
146
|
end
|
|
123
147
|
|
|
124
|
-
|
|
125
|
-
|
|
148
|
+
# Create Faraday connection with cookie jar
|
|
149
|
+
def connection
|
|
150
|
+
@connection ||= Faraday.new do |f|
|
|
151
|
+
f.request :url_encoded
|
|
152
|
+
f.use :cookie_jar, jar: @jar
|
|
153
|
+
f.adapter Faraday.default_adapter
|
|
154
|
+
end
|
|
126
155
|
end
|
|
127
156
|
end
|
|
128
157
|
end
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require "
|
|
3
|
+
require "faraday"
|
|
4
4
|
|
|
5
5
|
module AtreaControl
|
|
6
6
|
module Duplex
|
|
@@ -24,7 +24,12 @@ module AtreaControl
|
|
|
24
24
|
# @param [Hash] params
|
|
25
25
|
# @option params [String] :_t ("config/xml.xml") file name
|
|
26
26
|
def call(params)
|
|
27
|
-
|
|
27
|
+
@connection ||= Faraday.new do |f|
|
|
28
|
+
f.request :url_encoded
|
|
29
|
+
f.adapter Faraday.default_adapter
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
@connection.get("#{AtreaControl::Duplex::CONTROL_URI}/comm/sw/unit.php", @params.merge(params))
|
|
28
33
|
end
|
|
29
34
|
end
|
|
30
35
|
end
|
metadata
CHANGED
|
@@ -1,57 +1,70 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: atrea_control
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.
|
|
4
|
+
version: 3.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lukáš Pokorný
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
13
|
+
name: faraday
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
18
|
+
version: '2.7'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
25
|
+
version: '2.7'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
27
|
+
name: faraday-cookie_jar
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '0.0'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '0.0'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
41
|
+
name: i18n
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - "~>"
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
46
|
+
version: '1.14'
|
|
48
47
|
type: :runtime
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - "~>"
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
53
|
+
version: '1.14'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: nokogiri
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '1.15'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '1.15'
|
|
55
68
|
description: Read data from web controller of RD5 duplex by Atrea.
|
|
56
69
|
email:
|
|
57
70
|
- pokorny@luk4s.cz
|
|
@@ -89,8 +102,11 @@ files:
|
|
|
89
102
|
homepage: https://github.com/luk4s/atrea_control
|
|
90
103
|
licenses: []
|
|
91
104
|
metadata:
|
|
105
|
+
allowed_push_host: https://rubygems.org
|
|
106
|
+
homepage_uri: https://github.com/luk4s/atrea_control
|
|
107
|
+
source_code_uri: https://github.com/luk4s/atrea_control
|
|
108
|
+
changelog_uri: https://github.com/luk4s/atrea_control/CHANGELOG.md
|
|
92
109
|
rubygems_mfa_required: 'true'
|
|
93
|
-
post_install_message:
|
|
94
110
|
rdoc_options: []
|
|
95
111
|
require_paths:
|
|
96
112
|
- lib
|
|
@@ -105,8 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
105
121
|
- !ruby/object:Gem::Version
|
|
106
122
|
version: '0'
|
|
107
123
|
requirements: []
|
|
108
|
-
rubygems_version: 3.
|
|
109
|
-
signing_key:
|
|
124
|
+
rubygems_version: 3.6.9
|
|
110
125
|
specification_version: 4
|
|
111
126
|
summary: Get data control.atrea.eu
|
|
112
127
|
test_files: []
|