automotive-ecu 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24338ba9633d36789c4ba4f5c7ae67659c2dca146a878ae426555afcc18419cc
4
- data.tar.gz: 70103adf18b506ab21d62bd5d8c9a95266d19dac8a7d2688c55ed85748fa6d10
3
+ metadata.gz: 3adf406568cc23075ab176db5d171365057400613aa2ea668e217247d2734dd0
4
+ data.tar.gz: d0367f0a39c76cc2094600440a22f39a8da32118acae23419e3d95abb68910e8
5
5
  SHA512:
6
- metadata.gz: 1c4624a8d94693d35d9db642d677816b26bb461e7676837147ae4c81fb013f2097d884e90b00dcb92f0781ee335c939360ec20ab40712c5ff223921c030da169
7
- data.tar.gz: 5f92059a106311e053750e57f36b5341850b4dfab169ec1edcb7a263d1078191c339a9b4b221b668539a2ded36dc356f2b8a5fc55968cd1743a74aad86bb8003
6
+ metadata.gz: f6027c77ae6110600b72ffab9611ba97e1ee6c95852f23cfbeb96c4afd09de25ddc84fd4ca220186f35b2922a8a7252d647a8d1c16f777c0b94b3b04e33cde05
7
+ data.tar.gz: 276b5f1382cc619af06908f6dfc5f090fe26f238b55c13ee07e3330f1cc233c2701f0b15a12ef1d12f7e24b0d3ef95ef4332dff7629d959060aa0f4f814c8dae
@@ -28,31 +28,31 @@ class Ecu
28
28
  str.each_line.lazy.with_index(1).each do |line, n|
29
29
  line = normalize_whitespace(line)
30
30
  case line
31
- when BLANKLINE_REGEX then next
32
- when COMMENT_REGEX
31
+ in BLANKLINE_REGEX then next
32
+ in COMMENT_REGEX
33
33
  case buffer.header
34
- when :pre then headers << line[1..].strip
35
- when :after then subheaders << line[1..].strip
36
- when :done then # Header time over, do nothing
34
+ in :pre then headers << line[1..].strip
35
+ in :after then subheaders << line[1..].strip
36
+ in :done then # Header time over, do nothing
37
37
  end
38
- when DCM_HEADER then buffer.header_seen!
39
- when Functions.dcm_header then buffer.start!(Functions, [line])
40
- when Festwert.dcm_header then buffer.start!(Festwert, [line])
41
- when Festwerteblock.dcm_header then buffer.start!(Festwerteblock, [line])
42
- when Kennlinie.dcm_header then buffer.start!(Kennlinie, [line])
43
- when Gruppenkennlinie.dcm_header then buffer.start!(Gruppenkennlinie, [line])
44
- when Festkennlinie.dcm_header then buffer.start!(Festkennlinie, [line])
45
- when Kennfeld.dcm_header then buffer.start!(Kennfeld, [line])
46
- when Gruppenkennfeld.dcm_header then buffer.start!(Gruppenkennfeld, [line])
47
- when Festkennfeld.dcm_header then buffer.start!(Festkennfeld, [line])
48
- when Stuetzstellenverteilung.dcm_header then buffer.start!(Stuetzstellenverteilung, [line])
49
- when "END" then
38
+ in DCM_HEADER then buffer.header_seen!
39
+ in ^(Functions.dcm_header) then buffer.start!(Functions, [line])
40
+ in ^(Festwert.dcm_header) then buffer.start!(Festwert, [line])
41
+ in ^(Festwerteblock.dcm_header) then buffer.start!(Festwerteblock, [line])
42
+ in ^(Kennlinie.dcm_header) then buffer.start!(Kennlinie, [line])
43
+ in ^(Gruppenkennlinie.dcm_header) then buffer.start!(Gruppenkennlinie, [line])
44
+ in ^(Festkennlinie.dcm_header) then buffer.start!(Festkennlinie, [line])
45
+ in ^(Kennfeld.dcm_header) then buffer.start!(Kennfeld, [line])
46
+ in ^(Gruppenkennfeld.dcm_header) then buffer.start!(Gruppenkennfeld, [line])
47
+ in ^(Festkennfeld.dcm_header) then buffer.start!(Festkennfeld, [line])
48
+ in ^(Stuetzstellenverteilung.dcm_header) then buffer.start!(Stuetzstellenverteilung, [line])
49
+ in "END"
50
50
  case obj = buffer.finish!(line)
51
- when Label
51
+ in Label
52
52
  fail "Duplicate label #{obj.name}" unless labels[obj.name].nil?
53
53
 
54
54
  labels[obj.name] = obj
55
- when Functions
55
+ in Functions
56
56
  fail "Duplicate functions definition" unless functions.empty?
57
57
 
58
58
  functions = obj
@@ -31,12 +31,18 @@ class Ecu
31
31
  end
32
32
 
33
33
  def self.numeric_array(str)
34
- str.split.map { Float(_1) }
34
+ str.split.map { numeric_value(_1) }
35
35
  end
36
36
 
37
37
  def self.string_array(str)
38
38
  str.scan(/"([^"]*)"/).flatten
39
39
  end
40
40
 
41
+ def self.numeric_value(str)
42
+ return str.to_f if str.match?(/^\d+\.$/)
43
+
44
+ Float(str)
45
+ end
46
+
41
47
  end
42
48
  end
data/lib/ecu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  class Ecu
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: automotive-ecu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Mueller
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-18 00:00:00.000000000 Z
11
+ date: 2024-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: terminal-table