automotive-ecu 0.3.3 → 0.3.5

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: fb1a271295db80e88f49dff193115be32c7615485818d3b39b5af7a6c6e153a2
4
- data.tar.gz: fd7bc67a0a75965cd659d812de45017f0e18581dadcb7cad4138e10abbd87109
3
+ metadata.gz: eaf31b67eb5936b0a5f3e1312335b0407c04701103e4da639a596115c10c2fb8
4
+ data.tar.gz: 56f7829412d3fb9755ecd9b7cf21eb4846287740b1b7382f46109d37959781f8
5
5
  SHA512:
6
- metadata.gz: 2f81b12bb0040f73348c996c4ed99a060a08036a77fd0d873b8b1897674354a8c96e77af239fa7ddad4b03ffc77606a44af1856c003446f784561e531543a3c8
7
- data.tar.gz: 03cfce4b5c36725aa715e2e04deecb0baef10c5548aa2befa64ea9b0724e5d4b0a5d515343da28235a0839c5a230c91b6871eb8b622098dc7497f4da72ac6800
6
+ metadata.gz: c71b48f6c2ac067fc0ad207e74aee69ab1eb6a45bac26a67026a47b86a4d92b21469aafafaf9a520429791d433a471329e1a57698413def5762a5291776625da
7
+ data.tar.gz: 65be4dbe384d9c806bebf9fc9fc870893923b53806e91244355bff64996637c56855829338ea115f6c71c08e29882e3b76a349aa693b958cb38104c06c71ee03
@@ -28,7 +28,7 @@ class Ecu
28
28
  COMMENT = %r{ ^\*.*$ }x
29
29
  DIMENSIONS_SEP = %r{ @ }x
30
30
  QUOTED_TEXT = %r{ "[^"]*" }x
31
- IDENTIFIER = %r{ [A-Za-z][A-Za-z0-9_\.]* }x
31
+ IDENTIFIER = %r{ [A-Za-z][A-Za-z0-9_\.\[\]]* }x
32
32
  UNSIGNED_INT = %r{ [0]|[1-9][0-9]* }x
33
33
  INT = %r{ [-]?#{UNSIGNED_INT} }x
34
34
  FLOAT_EXP = %r{ [eE][+-]?[0-9]+ }x
@@ -129,9 +129,17 @@ class Ecu
129
129
  raise DcmParserError.new("#{e.message} on #{e.backtrace.first} (state: #{@state})", lexer)
130
130
  end
131
131
  end
132
+ fail_on_truncation!
132
133
  [labels, headers, subheaders]
133
134
  end
134
135
 
136
+ # A well-formed file ends between labels, not inside one.
137
+ def fail_on_truncation!
138
+ return if %i[PRE_HEADER POST_HEADER].include?(@state)
139
+
140
+ raise DcmParserError.new("Unexpected end of file (state: #{@state})", lexer)
141
+ end
142
+
135
143
  def debug_token(tok)
136
144
  if tok == :UNKNOWN_CHAR
137
145
  "UNKNOWN_CHAR: #{lexer.token_value}"
@@ -18,7 +18,7 @@ class Ecu
18
18
  def self.from_dcm(str)
19
19
  DcmParser.new(str)
20
20
  .then { _1.call }
21
- .then { new(*_1, true) }
21
+ .then { new(*_1) }
22
22
  end
23
23
 
24
24
  def self.from_dcm_partial(str)
data/lib/ecu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Ecu
2
- VERSION = "0.3.3"
2
+ VERSION = "0.3.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: automotive-ecu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.3
4
+ version: 0.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Mueller
@@ -164,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
164
  - !ruby/object:Gem::Version
165
165
  version: '0'
166
166
  requirements: []
167
- rubygems_version: 4.0.14
167
+ rubygems_version: 4.0.16
168
168
  specification_version: 4
169
169
  summary: A simple API for managing automotive ecu signals and labels
170
170
  test_files: []