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 +4 -4
 - data/lib/quelink-mg/at/base.rb +1 -0
 - data/lib/quelink-mg/at/gtupd.rb +31 -0
 - data/lib/quelink_mg.rb +1 -0
 - data/quelink-mg.gemspec +1 -1
 - data/spec/quelink_mg/at/gtupd_spec.rb +25 -0
 - metadata +3 -1
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 9fa70bb5704e05561bc7351104356734d38c68eee18a7b6b6423f561734ad5a0
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 7db6bbdcbbae58b244715b2107b675a9a400c13fed384006ec3cad299144c64a
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: d4608f14f8518b6fe018e840ef7c7e5935d428be716f37bc8c2604288a64d0ffc6915541fab4675e4b6595117d47e3f6e8757c21530fbe9da0b9771708772e75
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 40bd1f4cb692bc038f319b628616e992d4702c95f630f8b70d3286850694048ad343bcc5c8a571c4c3e549612af3684e5c12f794c415ae9ad6c442af688429be
         
     | 
    
        data/lib/quelink-mg/at/base.rb
    CHANGED
    
    | 
         @@ -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
    
    
| 
         @@ -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. 
     | 
| 
      
 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
         
     |