quelink-mg 0.5.0 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aecc401524a83220d52f8701ec5b962d018210a06f251deca1bc2288c4a9907d
4
- data.tar.gz: 8131ba15fee8e4df4364044b95d6e912af84aa9ad02995063e47c72741e8d13f
3
+ metadata.gz: 9fa70bb5704e05561bc7351104356734d38c68eee18a7b6b6423f561734ad5a0
4
+ data.tar.gz: 7db6bbdcbbae58b244715b2107b675a9a400c13fed384006ec3cad299144c64a
5
5
  SHA512:
6
- metadata.gz: d510ef78406b1e6b71e67f8980b13658302f6bc33582fd6644ef4e512bbcf4cda3814601309bb8862e995efe3cb1c9471ecff5a98bac9311c1ead3724737acef
7
- data.tar.gz: 7705c5fecdb15542faf78db9b25a83bb56b079e2808318e2685f8900f3645f383c5c077b7037ee0160cd7d46e0b8bb6edd81939d1eb9f6e84ee1c92cab64ad77
6
+ metadata.gz: d4608f14f8518b6fe018e840ef7c7e5935d428be716f37bc8c2604288a64d0ffc6915541fab4675e4b6595117d47e3f6e8757c21530fbe9da0b9771708772e75
7
+ data.tar.gz: 40bd1f4cb692bc038f319b628616e992d4702c95f630f8b70d3286850694048ad343bcc5c8a571c4c3e549612af3684e5c12f794c415ae9ad6c442af688429be
@@ -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.0'
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']
@@ -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,7 +1,7 @@
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.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stanislaw Zawadzki
@@ -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