quelink-mg 0.5.0 → 0.6.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aecc401524a83220d52f8701ec5b962d018210a06f251deca1bc2288c4a9907d
4
- data.tar.gz: 8131ba15fee8e4df4364044b95d6e912af84aa9ad02995063e47c72741e8d13f
3
+ metadata.gz: 7856c52f1501f656b41cdb8ec45a10bcd65aee8c22765b360e02c31a84376b65
4
+ data.tar.gz: 3492add938fadf7c8e03644994dc41d1a93d0341e8e76f8f696cef31fc5ed0d4
5
5
  SHA512:
6
- metadata.gz: d510ef78406b1e6b71e67f8980b13658302f6bc33582fd6644ef4e512bbcf4cda3814601309bb8862e995efe3cb1c9471ecff5a98bac9311c1ead3724737acef
7
- data.tar.gz: 7705c5fecdb15542faf78db9b25a83bb56b079e2808318e2685f8900f3645f383c5c077b7037ee0160cd7d46e0b8bb6edd81939d1eb9f6e84ee1c92cab64ad77
6
+ metadata.gz: bce67a4ac0a06a7babc7d09781e22a3ac653a417d3a2454b51d8bcc89e5aa4f175226112b4996c9ce6fa7cf78e98002c110826e870b8527b2f1f7b213a1c0497
7
+ data.tar.gz: e76754afae2664d038fb1f63907cbd955980c636ba34bbd48591ba7155860b200095d508edbf4732e93d6261b713e40eb6d645f0de22adc84f03343e142d5b8c
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- quelink-mg (0.3.0)
5
- activesupport (~> 7.0)
4
+ quelink-mg (0.6.0)
5
+ activesupport
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
@@ -8,6 +8,7 @@ class InvalidATGTQSSException < StandardError; end
8
8
  class InvalidATGTRTOException < StandardError; end
9
9
  class InvalidATGTSRIException < StandardError; end
10
10
  class InvalidATGTUDFException < StandardError; end
11
+ class InvalidATGTUPDException < StandardError; end
11
12
 
12
13
  module QuelinkMg
13
14
  module At
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module QuelinkMg
4
+ module At
5
+ class Gtupd < Base
6
+ def message
7
+ validate_values
8
+
9
+ "AT+GTUPD=#{joined_params}$"
10
+ end
11
+
12
+ private
13
+
14
+ GTUPD_VALID_PARAMS = %i[password subcommand max_download_retry download_timeout download_protocol download_username download_password
15
+ download_url reserved update_type reserved reserved serial_number].freeze
16
+
17
+ def joined_params
18
+ GTUPD_VALID_PARAMS.map { |method| @params.fetch(method, nil) }.join(',')
19
+ end
20
+
21
+ def validate_values
22
+ acceptable_values = {
23
+ download_retry: (0..3),
24
+ download_timeout: (10..30),
25
+ }
26
+
27
+ verify_params(acceptable_values, InvalidATGTUPDException)
28
+ end
29
+ end
30
+ end
31
+ end
data/lib/quelink_mg.rb CHANGED
@@ -15,6 +15,7 @@ require File.expand_path('quelink-mg/at/gtqss.rb', __dir__)
15
15
  require File.expand_path('quelink-mg/at/gtrto.rb', __dir__)
16
16
  require File.expand_path('quelink-mg/at/gtsri.rb', __dir__)
17
17
  require File.expand_path('quelink-mg/at/gtudf.rb', __dir__)
18
+ require File.expand_path('quelink-mg/at/gtupd.rb', __dir__)
18
19
 
19
20
  require File.expand_path('quelink-mg/resp/base.rb', __dir__)
20
21
  require File.expand_path('quelink-mg/resp/gtfri.rb', __dir__)
data/quelink-mg.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = 'quelink-mg'
5
- s.version = '0.5.0'
5
+ s.version = '0.6.1'
6
6
  s.summary = 'Quelink devices command reader and writer'
7
7
  s.description = 'Quelink devices command reader and writer'
8
8
  s.authors = ['Stanislaw Zawadzki']
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.require_paths = ['lib']
13
13
  s.license = 'MIT'
14
14
  s.required_ruby_version = '>= 3.1'
15
- s.add_dependency 'activesupport', '~> 7.0'
15
+ s.add_dependency 'activesupport'
16
16
  s.add_development_dependency 'pry', '~> 0.13'
17
17
  s.add_development_dependency 'rspec', '~> 3.9'
18
18
  s.add_development_dependency 'rubocop', '~> 1.0'
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'spec_helper'
4
+
5
+ RSpec.describe QuelinkMg::At::Gtupd do
6
+ it 'creates command when params are valid' do
7
+ params =
8
+ {
9
+ password: 'gl310m',
10
+ subcommand: 0,
11
+ max_download_retry: 0,
12
+ download_timeout: 10,
13
+ download_protocol: 0,
14
+ download_url: 'https://example.org',
15
+ update_type: 0,
16
+ serial_number: 'FFFF'
17
+ }
18
+
19
+ expect(described_class.new(params:).message).to eq 'AT+GTUPD=gl310m,0,0,10,0,,,https://example.org,,0,,,FFFF$'
20
+ end
21
+
22
+ it 'raises error on wrong params' do
23
+ expect { described_class.new(params: { download_timeout: 666}).message }.to raise_error(InvalidATGTUPDException)
24
+ end
25
+ end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: quelink-mg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stanislaw Zawadzki
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-25 00:00:00.000000000 Z
11
+ date: 2025-08-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '7.0'
19
+ version: '0'
20
20
  type: :runtime
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: '7.0'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -109,6 +109,7 @@ files:
109
109
  - lib/quelink-mg/at/gtrto.rb
110
110
  - lib/quelink-mg/at/gtsri.rb
111
111
  - lib/quelink-mg/at/gtudf.rb
112
+ - lib/quelink-mg/at/gtupd.rb
112
113
  - lib/quelink-mg/buff/base.rb
113
114
  - lib/quelink-mg/buff/gtfri.rb
114
115
  - lib/quelink-mg/configuration.rb
@@ -138,6 +139,7 @@ files:
138
139
  - spec/quelink_mg/at/gtrto_spec.rb
139
140
  - spec/quelink_mg/at/gtsri_spec.rb
140
141
  - spec/quelink_mg/at/gtudf_spec.rb
142
+ - spec/quelink_mg/at/gtupd_spec.rb
141
143
  - spec/quelink_mg/buff/gtfri_spec.rb
142
144
  - spec/quelink_mg/resp/gtfri_spec.rb
143
145
  - spec/quelink_mg/resp/gtgsv_spec.rb