inferno_core 1.0.7 → 1.0.8

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: a748b279b7800643691878288cbb91e2190c69cc89c704cb38d0d83c9f2efba1
4
- data.tar.gz: c56c31e923b64d4e081e26d5c0c61e7aa92b1cd4afa286d87dbfbd592870a287
3
+ metadata.gz: 1c17ba07e32fab23c4a830a0b6fd22f03ce711fdb89c2a555916355cd1e68e03
4
+ data.tar.gz: 4b20e2c2e7d181893f9282ed8954a053beef0a3ee53ce198668b708c024c9aff
5
5
  SHA512:
6
- metadata.gz: f7c60556a4ec8ac7a09ec08a04b75c46be8a19e5d04cf6ba94badd9a116f6423d5ec26bfe6d1c03570d213ec8de74160b7ce4a6f277b6a42148903f49edbf587
7
- data.tar.gz: fbfd25350748e5ce7131fbbb1bc3c4a8c99fe7d053583a44e7a56452101635538b80aaa888e5a854a5ad6d42f5f277618a41740f321b963bfda09517f7825038
6
+ metadata.gz: 264803ea3c53af5df0157710f0091b994acebabdb6751e8f442707de01fc57b0f373bb2a5c021f0eb43ba47f1b293c11d534b482787284d352cf6caf09437b47
7
+ data.tar.gz: a899635f3a8d68ea3326ed344ce8ae7e8e09ad3f484dce2cba491b7678d849346ed4cb34ef4f0f7bab26f80d4332cd102d8ce896af5403f1b367606f9e2311dc
@@ -365,8 +365,15 @@ module Inferno
365
365
  page_count += 1
366
366
  end
367
367
 
368
+ if resources.any?(&:nil?)
369
+ warning 'Inferno detected one or more bundle entries with no `resource` element, ' \
370
+ 'which is not allowed for a FHIR Bundle with `type` = "searchset".'
371
+ end
372
+
368
373
  valid_resource_types = [resource_type, 'OperationOutcome'].concat(additional_resource_types)
369
374
 
375
+ resources.compact!
376
+
370
377
  invalid_resource_types =
371
378
  resources.reject { |entry| valid_resource_types.include? entry.resourceType }
372
379
  .map(&:resourceType)
@@ -174,23 +174,25 @@ module Inferno
174
174
 
175
175
  # @private
176
176
  def matching_type_slice?(slice, discriminator)
177
+ slice_value = resolve_path(slice, discriminator[:path]).first
178
+
177
179
  case discriminator[:code]
178
180
  when 'Date'
179
181
  begin
180
- Date.parse(slice)
182
+ Date.parse(slice_value)
181
183
  rescue ArgumentError
182
184
  false
183
185
  end
184
186
  when 'DateTime'
185
187
  begin
186
- DateTime.parse(slice)
188
+ DateTime.parse(slice_value)
187
189
  rescue ArgumentError
188
190
  false
189
191
  end
190
192
  when 'String'
191
- slice.is_a? String
193
+ slice_value.is_a? String
192
194
  else
193
- slice.is_a? FHIR.const_get(discriminator[:code])
195
+ slice_value.is_a? FHIR.const_get(discriminator[:code])
194
196
  end
195
197
  end
196
198
 
@@ -1,4 +1,4 @@
1
1
  module Inferno
2
2
  # Standard patterns for gem versions: https://guides.rubygems.org/patterns/
3
- VERSION = '1.0.7'.freeze
3
+ VERSION = '1.0.8'.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: 1.0.7
4
+ version: 1.0.8
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: 2026-01-13 00:00:00.000000000 Z
13
+ date: 2026-02-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activesupport