dcm 0.0.16 → 0.0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/codinginfo.rb +21 -8
  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: b095ba79d4256d0e8ce543bca8b762c13ab739b68462983e2fdb64a088342ad4
4
- data.tar.gz: 19ef351a9be8fdfb7332d46b9c93d127665a674bcfb911f633933ac0501a8a9c
3
+ metadata.gz: 3aaa1587b03304465c420597c49eb4e1f2da31b398179619a369a661e132f403
4
+ data.tar.gz: 7f50432f400c44d7df6811be4824074e5e3b4ddd6ba093bf56228d2844365719
5
5
  SHA512:
6
- metadata.gz: 7c5df04fabe59a806c13c333efb781235fa3cc41e64858816df27052b7893e01a5210dc84286783e945cf22611f220e5939b5f8e903b0435acf74c07c4d1341c
7
- data.tar.gz: 2aaa7e9092fe53cf8d8e249af2baf10bbb750e6ae277d841378e689c1a59adaa39870494ec708248c777e647e45590dbefd59fe4b5724550dd9141bbe2ae1675
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}"
@@ -90,7 +103,7 @@ class Codinginfo
90
103
 
91
104
  def variant
92
105
  fail "No variant matching #{@filter} found!" if @variants.empty?
93
- fail "More than one variant matching #{id} found!" if @variants.size > 1
106
+ fail "More than one variant matching #{@filter} found!" if @variants.size > 1
94
107
 
95
108
  @variants.first
96
109
  end
@@ -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.16"
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.16
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-11-21 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