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 
     |