quelink-mg 0.4.0 → 0.5.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/quelink-mg/ack/base.rb +1 -1
- data/lib/quelink-mg/at/base.rb +1 -1
- data/lib/quelink-mg/at/gtfri.rb +1 -1
- data/lib/quelink-mg/resp/base.rb +4 -4
- data/lib/quelink-mg/resp/gtver.rb +14 -0
- data/lib/quelink_mg.rb +1 -0
- data/quelink-mg.gemspec +1 -1
- data/spec/quelink_mg/resp/gtver_spec.rb +15 -0
- metadata +5 -4
- data/pkg/quelink-mg.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aecc401524a83220d52f8701ec5b962d018210a06f251deca1bc2288c4a9907d
|
4
|
+
data.tar.gz: 8131ba15fee8e4df4364044b95d6e912af84aa9ad02995063e47c72741e8d13f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d510ef78406b1e6b71e67f8980b13658302f6bc33582fd6644ef4e512bbcf4cda3814601309bb8862e995efe3cb1c9471ecff5a98bac9311c1ead3724737acef
|
7
|
+
data.tar.gz: 7705c5fecdb15542faf78db9b25a83bb56b079e2808318e2685f8900f3645f383c5c077b7037ee0160cd7d46e0b8bb6edd81939d1eb9f6e84ee1c92cab64ad77
|
data/lib/quelink-mg/ack/base.rb
CHANGED
data/lib/quelink-mg/at/base.rb
CHANGED
data/lib/quelink-mg/at/gtfri.rb
CHANGED
@@ -25,7 +25,7 @@ module QuelinkMg
|
|
25
25
|
mode: (0..5),
|
26
26
|
discard_no_fix: (0..1),
|
27
27
|
check_interval: (1..86_400),
|
28
|
-
send_interval: (
|
28
|
+
send_interval: (1..86_400),
|
29
29
|
ignition_check_interval: (5..86_400),
|
30
30
|
ignition_send_interval: (5..86_400),
|
31
31
|
distance: (50..65_535),
|
data/lib/quelink-mg/resp/base.rb
CHANGED
@@ -22,7 +22,7 @@ module QuelinkMg
|
|
22
22
|
def date?(value)
|
23
23
|
date = DateTime.strptime(value, QUELINK_DATE_FORMAT)
|
24
24
|
|
25
|
-
!date.nil? && (date - DateTime.now).abs <
|
25
|
+
!date.nil? && (date - DateTime.now).abs < 25 * 365
|
26
26
|
rescue Date::Error
|
27
27
|
false
|
28
28
|
end
|
@@ -31,13 +31,13 @@ module QuelinkMg
|
|
31
31
|
Time.use_zone('UTC') { Time.zone.parse(value) }.in_time_zone
|
32
32
|
end
|
33
33
|
|
34
|
-
def unify_keys(hash)
|
34
|
+
def unify_keys(hash, skip_number_change=false)
|
35
35
|
hash.transform_values do |v|
|
36
36
|
if date?(v)
|
37
37
|
transform_with_timezone(v)
|
38
|
-
elsif integer?(v)
|
38
|
+
elsif integer?(v) && !skip_number_change
|
39
39
|
v.to_i
|
40
|
-
elsif float?(v)
|
40
|
+
elsif float?(v) && !skip_number_change
|
41
41
|
v.to_f
|
42
42
|
else
|
43
43
|
v
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module QuelinkMg
|
4
|
+
module Resp
|
5
|
+
class Gtver < Base
|
6
|
+
GTVER_RESP_KEYS = %w[protocol_version unique_id device_name device_type firmware_version hardware_version reserved
|
7
|
+
modem_hardware_version modem_software_version send_time count_number].freeze
|
8
|
+
|
9
|
+
def hash
|
10
|
+
unify_keys(GTVER_RESP_KEYS.zip(@response.split(',')).to_h, true)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/quelink_mg.rb
CHANGED
@@ -23,6 +23,7 @@ require File.expand_path('quelink-mg/resp/gtinf.rb', __dir__)
|
|
23
23
|
require File.expand_path('quelink-mg/resp/gtsos.rb', __dir__)
|
24
24
|
require File.expand_path('quelink-mg/resp/gtstt.rb', __dir__)
|
25
25
|
require File.expand_path('quelink-mg/resp/gtupc.rb', __dir__)
|
26
|
+
require File.expand_path('quelink-mg/resp/gtver.rb', __dir__)
|
26
27
|
|
27
28
|
require File.expand_path('quelink-mg/ack/base.rb', __dir__)
|
28
29
|
require File.expand_path('quelink-mg/ack/gtbsi.rb', __dir__)
|
data/quelink-mg.gemspec
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
RSpec.describe QuelinkMg::Resp::Gtver do
|
6
|
+
it 'parses valid response' do
|
7
|
+
response = 'C30303,860201065688841,,GL320M_B7K1,0C09,0108,,BG95-M5,BG95M5LAR02A03,20250824185409,0006$'
|
8
|
+
|
9
|
+
parsed_response = described_class.new(response:).hash
|
10
|
+
expect(parsed_response).not_to eq({})
|
11
|
+
expect(parsed_response['device_type']).to eq 'GL320M_B7K1'
|
12
|
+
expect(parsed_response['firmware_version']).to eq '0C09'
|
13
|
+
expect(parsed_response['hardware_version']).to eq '0108'
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: quelink-mg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stanislaw Zawadzki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -119,8 +119,8 @@ files:
|
|
119
119
|
- lib/quelink-mg/resp/gtsos.rb
|
120
120
|
- lib/quelink-mg/resp/gtstt.rb
|
121
121
|
- lib/quelink-mg/resp/gtupc.rb
|
122
|
+
- lib/quelink-mg/resp/gtver.rb
|
122
123
|
- lib/quelink_mg.rb
|
123
|
-
- pkg/quelink-mg.gem
|
124
124
|
- quelink-mg.gemspec
|
125
125
|
- spec/quelink_mg/ack/gtbsi_spec.rb
|
126
126
|
- spec/quelink_mg/ack/gtcfg_spec.rb
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- spec/quelink_mg/resp/gtsos_spec.rb
|
146
146
|
- spec/quelink_mg/resp/gtstt_spec.rb
|
147
147
|
- spec/quelink_mg/resp/gtupc_spec.rb
|
148
|
+
- spec/quelink_mg/resp/gtver_spec.rb
|
148
149
|
- spec/spec_helper.rb
|
149
150
|
homepage:
|
150
151
|
licenses:
|
@@ -166,7 +167,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
166
167
|
- !ruby/object:Gem::Version
|
167
168
|
version: '0'
|
168
169
|
requirements: []
|
169
|
-
rubygems_version: 3.
|
170
|
+
rubygems_version: 3.5.18
|
170
171
|
signing_key:
|
171
172
|
specification_version: 4
|
172
173
|
summary: Quelink devices command reader and writer
|
data/pkg/quelink-mg.gem
DELETED
Binary file
|