dcm 0.0.17 → 0.0.18

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/codinginfo.rb +20 -7
  3. data/lib/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 178c96d7543921916d9ce230357dcde49fae0c99d6cd6f7893ea340e24cbb169
4
- data.tar.gz: 193d267c359f51cb7ac48a15478916c4760118918941eb0721fa7bda4797c7a0
3
+ metadata.gz: 3aaa1587b03304465c420597c49eb4e1f2da31b398179619a369a661e132f403
4
+ data.tar.gz: 7f50432f400c44d7df6811be4824074e5e3b4ddd6ba093bf56228d2844365719
5
5
  SHA512:
6
- metadata.gz: be1e020c36af16f739a0a964ec4e294f496af0430380654d15127a691032e50a3065c72529eb4d0e3c2ab4062012c14956be0c77030a6e3aa768050897c9d261
7
- data.tar.gz: 3dd9027dfc17a483c9df7c7b99607142e86cc85c7767e58f2a2c759183ec1ac46cc1a6439962450f2f7b60ec0ff0cb92cd082c0a8ff92595010282a0af86a767
6
+ metadata.gz: 4c30e958e78c5a792876bd5cd82efa5203e1aa68c743f7ea3c6cb5adda5df6de955d2b4005c4ebcf02fa5759c1383260118e64db93f38c6653cc046257e557bc
7
+ data.tar.gz: 8e6c1b9898ddfa1aeaee8ac0d714ef1a25667441f9b46870c41da349dbd58826c6afc28415cecbb16ebcf9b9b50d341e2b9c2c472d0c6904a1b1117583ab8062
data/lib/codinginfo.rb CHANGED
@@ -10,16 +10,29 @@ class Codinginfo
10
10
  # the package and value can be merged
11
11
 
12
12
  attr_reader :name, :value, :package
13
+ attr_accessor :assignments
13
14
  def initialize(name:, package: nil, value: nil)
14
- @name = name
15
- @package = package
16
- @value = value
15
+ @name = name
16
+ @package = package
17
+ @value = value
18
+ @assignments = []
17
19
  end
18
20
 
19
- def label_prefix
20
- return /^#{name}_(\w+_)?#{value}\./ if package.nil?
21
+ def match?(assignments, label)
22
+ # assignments
23
+ # .values
24
+ # .select { _1.name == name }
25
+ # .map { combine(_1) }
26
+ # .any? { label.name.match?(_1.label_prefix) }
27
+ label.name.match?(label_prefix)
28
+ end
21
29
 
22
- [name, package, value].join("_") + "."
30
+ def label_prefix
31
+ if package
32
+ [name, package, value].join("_") + "."
33
+ else
34
+ /^#{name}_([A-Za-z]+_)?#{value}\./
35
+ end
23
36
  end
24
37
 
25
38
  def to_s = "#{name}=#{value}"
@@ -133,7 +146,7 @@ class Codinginfo
133
146
  end
134
147
 
135
148
  def has_matching_cvar?(label)
136
- variant.cvars.any? { label.name.match?(_1.label_prefix) }
149
+ variant.cvars.any? { _1.match?(@assignments, label) }
137
150
  end
138
151
 
139
152
  def add_cvar_prefix(name, variant)
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dcm
2
- VERSION = "0.0.17"
2
+ VERSION = "0.0.18"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dcm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.17
4
+ version: 0.0.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonas Mueller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-05 00:00:00.000000000 Z
11
+ date: 2024-12-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: automotive-ecu