inferno_core 0.6.12 → 0.6.14

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.
@@ -10,6 +10,8 @@ module Inferno
10
10
  result = []
11
11
 
12
12
  CSV.foreach(path, headers: true, header_converters: :symbol) do |row|
13
+ next if row[:conformance].casecmp? 'deprecated'
14
+
13
15
  req_set = row[:req_set]
14
16
  id = row[:id]
15
17
  sub_requirements_field = row[:subrequirements]
@@ -25,12 +27,14 @@ module Inferno
25
27
  url: row[:url],
26
28
  requirement: row[:requirement],
27
29
  conformance: row[:conformance],
28
- actor: row[:actor],
30
+ actors: row[:actors].split(',').map(&:strip),
29
31
  sub_requirements: sub_requirements,
30
32
  conditionality: row[:conditionality]&.downcase,
31
33
  not_tested_reason: row[:not_tested_reason],
32
34
  not_tested_details: row[:not_tested_details]
33
35
  }
36
+ rescue StandardError => e
37
+ Application[:logger].error("Unable to load requirement: #{combined_id}:\n#{e.full_message.lines.first}")
34
38
  end
35
39
 
36
40
  result.each do |raw_req|
@@ -40,6 +44,10 @@ module Inferno
40
44
  end
41
45
  end
42
46
 
47
+ def requirements_for_actor(requirement_set, actor)
48
+ all.select { |requirement| requirement.requirement_set == requirement_set && requirement.actor?(actor) }
49
+ end
50
+
43
51
  def filter_requirements_by_ids(ids)
44
52
  all.select { |requirement| ids.include?(requirement.id) }
45
53
  end
@@ -74,7 +82,7 @@ module Inferno
74
82
  .flat_map do |requirement_set|
75
83
  all.select do |requirement|
76
84
  requirement.requirement_set == requirement_set.identifier &&
77
- requirement.actor == requirement_set.actor
85
+ requirement.actor?(requirement_set.actor)
78
86
  end
79
87
  end
80
88
  end
@@ -85,7 +93,7 @@ module Inferno
85
93
  requirement_set
86
94
  .expand_requirement_ids
87
95
  .map { |requirement_id| find(requirement_id) }
88
- .select { |requirement| requirement.actor == requirement_set.actor }
96
+ .select { |requirement| requirement.actor?(requirement_set.actor) }
89
97
  end
90
98
  end
91
99
 
@@ -103,7 +111,7 @@ module Inferno
103
111
  .flat_map(&:sub_requirements)
104
112
  .select do |requirement_id|
105
113
  referenced_requirement_sets.any? do |set|
106
- requirement_id.start_with?("#{set.identifier}@") && (find(requirement_id).actor == set.actor)
114
+ requirement_id.start_with?("#{set.identifier}@") && find(requirement_id)&.actor?(set.actor)
107
115
  end
108
116
  end
109
117
 
@@ -1,4 +1,4 @@
1
1
  module Inferno
2
2
  # Standard patterns for gem versions: https://guides.rubygems.org/patterns/
3
- VERSION = '0.6.12'.freeze
3
+ VERSION = '0.6.14'.freeze
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inferno_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.12
4
+ version: 0.6.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen MacVicar
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-06-17 00:00:00.000000000 Z
13
+ date: 2025-06-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport