fhir_stu3_models 3.0.2 → 3.1.0

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: 4405116b853ccced71184a064253fb8e9af8f8d7f8bc36ccf0e85608ade8a5ad
4
- data.tar.gz: 624752d83dac1bf24f4a96165d575f1e27af84d24bbf3bd354d63f1c1e2fc4ee
3
+ metadata.gz: 6d4ac5285d7cdc6dcbffc30bdea77c7a1e3625ca2d5a6e9ad10b432fad48d4c8
4
+ data.tar.gz: ce2a61987cf806f2ced3d51cf8be0b6b4c4af75e12f7bd94619caa762949f95a
5
5
  SHA512:
6
- metadata.gz: 678bc1dd8e7b3d951a1d8bb4b35d3a7f2a8c87987bd4f7aa4aeefbb8e5007199b0d3a6ae90f6e8761f6c08a8de0066b518c9035f5950d79748f9ba5bb7b6d8bc
7
- data.tar.gz: 5125b3fb76a0cdbbcd84b7b9619ff41e5f7be651d822e3e5dee4f8d475eee8c1dc74de758b1ed37450ab312d092c773f16b540ba9e7d76216d1a855bf3e33d33
6
+ metadata.gz: e9cfe7352d72f3ee8c8a3e1dfda2dbcd34e4d04bfeb6321f44ab031261dc644b0df545b2dbe6a824cab3a2700bbd47046c133d93b8e2f6d22ae92f138d61e991
7
+ data.tar.gz: 98c446cdd9109bfc7667649e4ec356ae60d5ea1068d7810d753b044c43a5181947f74e9334b6fecfd61fe44041b9202a87cd6aa5a846e9f3894013fc238d2804
@@ -0,0 +1,26 @@
1
+ name: Ruby
2
+
3
+ on:
4
+ push:
5
+ branches: [ master ]
6
+ pull_request:
7
+ branches: [ master ]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ ruby-version: ['2.6', '2.7']
15
+
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Set up Ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: ${{ matrix.ruby-version }}
22
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
23
+ - name: Run tests
24
+ run: bundle exec rake
25
+ - name: Rubocop
26
+ run: bundle exec rubocop
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fhir_stu3_models (3.0.2)
4
+ fhir_stu3_models (3.1.0)
5
5
  bcp47 (>= 0.3)
6
6
  date_time_precision (>= 0.8)
7
7
  mime-types (>= 3.0)
8
- nokogiri (>= 1.10.4)
8
+ nokogiri (>= 1.11.4)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
@@ -14,7 +14,7 @@ GEM
14
14
  bcp47 (0.3.3)
15
15
  i18n
16
16
  coderay (1.1.2)
17
- concurrent-ruby (1.1.8)
17
+ concurrent-ruby (1.1.9)
18
18
  date_time_precision (0.8.1)
19
19
  diff-lcs (1.3)
20
20
  docile (1.1.5)
@@ -37,7 +37,7 @@ GEM
37
37
  guard-test (2.0.8)
38
38
  guard-compat (~> 1.2)
39
39
  test-unit (~> 3.0)
40
- i18n (1.8.9)
40
+ i18n (1.8.10)
41
41
  concurrent-ruby (~> 1.0)
42
42
  jaro_winkler (1.5.4)
43
43
  json (2.5.1)
@@ -50,9 +50,9 @@ GEM
50
50
  mime-types (3.3.1)
51
51
  mime-types-data (~> 3.2015)
52
52
  mime-types-data (3.2021.0225)
53
- mini_portile2 (2.5.0)
53
+ mini_portile2 (2.5.3)
54
54
  nenv (0.3.0)
55
- nokogiri (1.11.2)
55
+ nokogiri (1.11.7)
56
56
  mini_portile2 (~> 2.5.0)
57
57
  racc (~> 1.4)
58
58
  nokogiri-diff (0.2.0)
@@ -74,7 +74,7 @@ GEM
74
74
  rb-fsevent (0.10.3)
75
75
  rb-inotify (0.10.0)
76
76
  ffi (~> 1.0)
77
- rexml (3.2.4)
77
+ rexml (3.2.5)
78
78
  rspec (3.8.0)
79
79
  rspec-core (~> 3.8.0)
80
80
  rspec-expectations (~> 3.8.0)
data/README.md CHANGED
@@ -54,6 +54,16 @@ $ bundle exec rake fhir:console
54
54
  'system' => 'http://unitsofmeasure.org'
55
55
  )
56
56
  ```
57
+
58
+ Iterating over all elements in a resource, including nested elements...
59
+ ```ruby
60
+ patient.each_element do |value, metadata, path|
61
+ puts "Info for #{path}:"
62
+ puts "- value: #{value}"
63
+ puts "- type: #{metadata['type']}"
64
+ puts "- cardinality: #{metadata['min']}..#{metadata['max']}"
65
+ end
66
+ ```
57
67
 
58
68
  ### Validation
59
69
 
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_dependency 'nokogiri', '>= 1.10.4'
24
+ spec.add_dependency 'nokogiri', '>= 1.11.4'
25
25
  spec.add_dependency 'date_time_precision', '>= 0.8'
26
26
  spec.add_dependency 'bcp47', '>= 0.3'
27
27
  spec.add_dependency 'mime-types', '>= 3.0'
@@ -294,6 +294,27 @@ module FHIR
294
294
  valid
295
295
  end
296
296
 
297
+ def each_element(path = nil, &block)
298
+ self.class::METADATA.each do |element_name, metadata|
299
+ local_name = metadata.fetch :local_name, element_name
300
+ values = [instance_variable_get("@#{local_name}")].flatten.compact
301
+ next if values.empty?
302
+
303
+ values.each_with_index do |value, i|
304
+ child_path =
305
+ if path.nil?
306
+ element_name
307
+ else
308
+ "#{path}.#{element_name}"
309
+ end
310
+ child_path += "[#{i}]" if metadata['max'] > 1
311
+ yield value, metadata, child_path
312
+ value.each_element child_path, &block unless FHIR::STU3::PRIMITIVES.include? metadata['type']
313
+ end
314
+ end
315
+ self
316
+ end
317
+
297
318
  private :validate_reference_type, :check_binding_uri, :validate_field
298
319
  end
299
320
  end
@@ -1,7 +1,7 @@
1
1
  module FHIR
2
2
  module STU3
3
3
  module Models
4
- VERSION = '3.0.2'.freeze
4
+ VERSION = '3.1.0'.freeze
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fhir_stu3_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jason Walonoski
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2021-03-31 00:00:00.000000000 Z
13
+ date: 2021-06-24 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: nokogiri
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 1.10.4
21
+ version: 1.11.4
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - ">="
27
27
  - !ruby/object:Gem::Version
28
- version: 1.10.4
28
+ version: 1.11.4
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: date_time_precision
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -216,12 +216,12 @@ extensions: []
216
216
  extra_rdoc_files: []
217
217
  files:
218
218
  - ".codeclimate.yml"
219
+ - ".github/workflows/ruby.yml"
219
220
  - ".gitignore"
220
221
  - ".rspec"
221
222
  - ".rubocop.yml"
222
223
  - ".rubocop_todo.yml"
223
224
  - ".simplecov"
224
- - ".travis.yml"
225
225
  - Gemfile
226
226
  - Gemfile.lock
227
227
  - Guardfile
@@ -1615,7 +1615,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1615
1615
  - !ruby/object:Gem::Version
1616
1616
  version: '0'
1617
1617
  requirements: []
1618
- rubygems_version: 3.1.4
1618
+ rubygems_version: 3.0.3
1619
1619
  signing_key:
1620
1620
  specification_version: 4
1621
1621
  summary: A Gem for handling FHIR STU3 models in ruby
data/.travis.yml DELETED
@@ -1,25 +0,0 @@
1
- language: ruby
2
- env:
3
- - TESTMEMORY=0 GCDELAY=2.0
4
- rvm:
5
- - 2.6
6
- - 2.7
7
- before_script:
8
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
9
- - chmod +x ./cc-test-reporter
10
- - ./cc-test-reporter before-build
11
- script:
12
- - bundle exec rake
13
- after_script:
14
- - ./cc-test-reporter after-build -t simplecov --exit-code $TRAVIS_TEST_RESULT
15
- notifications:
16
- email:
17
- recipients:
18
- - fhir-testing-list@lists.mitre.org
19
- on_failure: change
20
- addons:
21
- code_climate:
22
- repo_token: 0230b3379581b30743b7b4355d7394e427648e604d19a2aba987956201eee290
23
- before_install:
24
- - gem update --system
25
- - gem update bundler