oddb2xml 2.7.9 → 2.8.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.
Files changed (108) hide show
  1. checksums.yaml +4 -4
  2. data/.envrc +1 -0
  3. data/.github/workflows/codeql.yml +41 -0
  4. data/.github/workflows/ruby.yml +1 -1
  5. data/.gitignore +0 -0
  6. data/.rspec +0 -0
  7. data/.ruby-version +1 -0
  8. data/.standard.yml +0 -0
  9. data/Elexis_Artikelstamm_v003.xsd +0 -0
  10. data/Elexis_Artikelstamm_v5.xsd +4 -4
  11. data/Gemfile +2 -0
  12. data/Gemfile.lock +198 -0
  13. data/LICENSE +0 -0
  14. data/Manifest.txt +0 -0
  15. data/QA.md +0 -0
  16. data/README.md +0 -0
  17. data/Rakefile +0 -0
  18. data/artikelstamm.md +0 -0
  19. data/data/article_overrides.yaml +0 -0
  20. data/data/gal_forms.yaml +0 -0
  21. data/data/gal_groups.yaml +0 -0
  22. data/data/gtin2ignore.yaml +0 -0
  23. data/data/product_overrides.yaml +0 -0
  24. data/dokumentation_calc.textile +0 -0
  25. data/flake.lock +80 -0
  26. data/flake.nix +36 -0
  27. data/gemset.nix +814 -0
  28. data/lib/oddb2xml/builder.rb +30 -7
  29. data/lib/oddb2xml/calc.rb +2 -2
  30. data/lib/oddb2xml/chapter_70_hack.rb +0 -0
  31. data/lib/oddb2xml/cli.rb +15 -1
  32. data/lib/oddb2xml/compare.rb +0 -0
  33. data/lib/oddb2xml/compositions_syntax.rb +0 -0
  34. data/lib/oddb2xml/compressor.rb +0 -0
  35. data/lib/oddb2xml/downloader.rb +22 -0
  36. data/lib/oddb2xml/extractor.rb +30 -0
  37. data/lib/oddb2xml/options.rb +4 -0
  38. data/lib/oddb2xml/parslet_compositions.rb +0 -0
  39. data/lib/oddb2xml/util.rb +0 -0
  40. data/lib/oddb2xml/version.rb +1 -1
  41. data/lib/oddb2xml/xml_definitions.rb +0 -0
  42. data/lib/oddb2xml.rb +0 -0
  43. data/oddb_calc.xsd +0 -0
  44. data/spec/artikelstamm_spec.rb +7 -1
  45. data/spec/calc_spec.rb +0 -0
  46. data/spec/check_artikelstamm_spec.rb +0 -0
  47. data/spec/cli_spec.rb +0 -0
  48. data/spec/compare_spec.rb +0 -0
  49. data/spec/composition_syntax_spec.rb +0 -0
  50. data/spec/compressor_spec.rb +0 -0
  51. data/spec/data/AipsDownload.zip +0 -0
  52. data/spec/data/Elexis_Artikelstamm_v5.xsd +0 -0
  53. data/spec/data/GL_Diff_SB.xml +0 -0
  54. data/spec/data/ItCodes.xml +0 -0
  55. data/spec/data/PR121001.txt +0 -0
  56. data/spec/data/PR121002.txt +0 -0
  57. data/spec/data/Preparations.xml +0 -0
  58. data/spec/data/Publications.xls +0 -0
  59. data/spec/data/artikelstamm_N_010917.xml +0 -0
  60. data/spec/data/artikelstamm_N_011217.xml +0 -0
  61. data/spec/data/artikelstamm_P_010917.xml +0 -0
  62. data/spec/data/artikelstamm_P_011217.xml +0 -0
  63. data/spec/data/atc.csv +0 -0
  64. data/spec/data/check_artikelstamm/artikelstamm_v5_gtin_non_numeric.xml +0 -0
  65. data/spec/data/check_artikelstamm/artikelstamm_v5_gtin_not_uniq.xml +0 -0
  66. data/spec/data/check_artikelstamm/artikelstamm_v5_limitation_exists.xml +0 -0
  67. data/spec/data/check_artikelstamm/artikelstamm_v5_okay.xml +0 -0
  68. data/spec/data/check_artikelstamm/artikelstamm_v5_pharma_has_product.xml +0 -0
  69. data/spec/data/check_artikelstamm/artikelstamm_v5_prodno_not_uniq.xml +0 -0
  70. data/spec/data/check_artikelstamm/artikelstamm_v5_product_needs_article.xml +0 -0
  71. data/spec/data/column_c.txt +0 -0
  72. data/spec/data/compositions.txt +0 -0
  73. data/spec/data/compressor/oddb2xml_files_bm_update.txt +0 -0
  74. data/spec/data/compressor/oddb2xml_files_lppv.txt +0 -0
  75. data/spec/data/compressor/oddb2xml_files_nonpharma.xls +0 -0
  76. data/spec/data/epha_interactions.csv +0 -0
  77. data/spec/data/listen_neu.html +0 -0
  78. data/spec/data/medregbm_betrieb.txt +0 -0
  79. data/spec/data/medregbm_person.txt +0 -0
  80. data/spec/data/oddb2xml_files_bm_update.txt +0 -0
  81. data/spec/data/oddb2xml_files_lppv.txt +0 -0
  82. data/spec/data/oddb2xml_files_nonpharma.xls +0 -0
  83. data/spec/data/problems.txt +0 -0
  84. data/spec/data/refdata_NonPharma.xml +0 -0
  85. data/spec/data/refdata_Pharma.xml +0 -0
  86. data/spec/data/swissmedic_fridges.html +0 -0
  87. data/spec/data/swissmedic_info.html +0 -0
  88. data/spec/data/swissmedic_info_2.html +0 -0
  89. data/spec/data/swissmedic_orphan.xlsx +0 -0
  90. data/spec/data/swissmedic_orphans.html +0 -0
  91. data/spec/data/swissmedic_package.xlsx +0 -0
  92. data/spec/data/swissmedic_packages.html +0 -0
  93. data/spec/data/transfer.dat +0 -0
  94. data/spec/data/v5_first.xml +0 -0
  95. data/spec/data/v5_second.xml +0 -0
  96. data/spec/data/varia_De.htm +0 -0
  97. data/spec/data/vcr/transfer.dat +0 -0
  98. data/spec/data/vcr/transfer.zip +0 -0
  99. data/spec/data/wsdl_nonpharma.xml +0 -0
  100. data/spec/data/wsdl_pharma.xml +0 -0
  101. data/spec/fixtures/vcr_cassettes/artikelstamm.json +0 -0
  102. data/spec/galenic_spec.rb +0 -0
  103. data/spec/parslet_spec.rb +1 -1
  104. data/tools/cacert.pem +0 -0
  105. data/tools/set.bat +0 -0
  106. data/tools/win_fetch_cacerts.rb +0 -0
  107. metadata +13 -7
  108. data/shell.nix +0 -19
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3f177caa4764f9d7a9a9b165e936a9d2474fcab1f2f165ec757f9acad0c331eb
4
- data.tar.gz: ca338ae5867dde260218865926b38eb7529d0dac9675aeff230f576ec7023cc0
3
+ metadata.gz: 69751ba3c076df58a220d7228e9cb095be71469d3bbd3b724dc3caa794b08a47
4
+ data.tar.gz: d365c3755b21c38ebfb42d35b6c8104085d73020e3337a759af1406e1fe468de
5
5
  SHA512:
6
- metadata.gz: 793bc30149238fdfb22dc990fee57dc6913d3fa825fa2647ebcd0aee82264287f006765d082256c02215d37337efd8218ebaf9fed8297d5beb0f94d7ffb7ff2d
7
- data.tar.gz: 230acb26a3931afa47be553a740095d2b5d352143d3304985eb4b80f532bc254c225f535ca575be2219ffa15193cdb09cf7bb2ad3d5311d9957dbf056f20c7ae
6
+ metadata.gz: d3cca5c33e5693ce85f6caec848e8513feead69d095834de0801dbffd55bcc25b5fbd29873acc8c1501f1d209e6c614167bf2c01f241143a25c1d885b9ae4c13
7
+ data.tar.gz: f75d3211d0405487509db615fc97092017db6d24bb1cf6dc95efd2a2170b97bce6adff9958d4bbdd4e1ef4002ef7a50c8ee3995a67d2b734d879389186d0ca9b
data/.envrc ADDED
@@ -0,0 +1 @@
1
+ use flake
@@ -0,0 +1,41 @@
1
+ name: "CodeQL"
2
+
3
+ on:
4
+ push:
5
+ branches: [ "master" ]
6
+ pull_request:
7
+ branches: [ "master" ]
8
+ schedule:
9
+ - cron: "27 23 * * 4"
10
+
11
+ jobs:
12
+ analyze:
13
+ name: Analyze
14
+ runs-on: ubuntu-latest
15
+ permissions:
16
+ actions: read
17
+ contents: read
18
+ security-events: write
19
+
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ language: [ javascript ]
24
+
25
+ steps:
26
+ - name: Checkout
27
+ uses: actions/checkout@v3
28
+
29
+ - name: Initialize CodeQL
30
+ uses: github/codeql-action/init@v2
31
+ with:
32
+ languages: ${{ matrix.language }}
33
+ queries: +security-and-quality
34
+
35
+ - name: Autobuild
36
+ uses: github/codeql-action/autobuild@v2
37
+
38
+ - name: Perform CodeQL Analysis
39
+ uses: github/codeql-action/analyze@v2
40
+ with:
41
+ category: "/language:${{ matrix.language }}"
@@ -22,7 +22,7 @@ jobs:
22
22
  fail-fast: false
23
23
  matrix:
24
24
  os: [ ubuntu]
25
- ruby: [2.6, 2.7, "3.0", 3.1]
25
+ ruby: [2.6, 2.7, "3.0", 3.1, 3.2]
26
26
  steps:
27
27
  - uses: actions/checkout@v2
28
28
  - uses: ruby/setup-ruby@v1
data/.gitignore CHANGED
File without changes
data/.rspec CHANGED
File without changes
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.2.0
data/.standard.yml CHANGED
File without changes
File without changes
@@ -9,7 +9,7 @@
9
9
  Contributors: MEDEVIT <office@medevit.at> - initial API and implementation -->
10
10
  <xs:schema targetNamespace="http://elexis.ch/Elexis_Artikelstamm_v5"
11
11
  elementFormDefault="qualified" attributeFormDefault="unqualified"
12
- version="5" id="Elexis_Artikelstamm_v003" xmlns="http://elexis.ch/Elexis_Artikelstamm_v5" xmlns:xs="http://www.w3.org/2001/XMLSchema">
12
+ version="6" id="Elexis_Artikelstamm_v003" xmlns="http://elexis.ch/Elexis_Artikelstamm_v5" xmlns:xs="http://www.w3.org/2001/XMLSchema">
13
13
  <xs:element name="ARTIKELSTAMM">
14
14
  <xs:annotation>
15
15
  <xs:documentation xml:lang="EN">Information on
@@ -35,7 +35,7 @@
35
35
  type="DSCRType" minOccurs="1" maxOccurs="1">
36
36
  </xs:element>
37
37
  <xs:element name="DSCRF"
38
- type="DSCRType" minOccurs="0" maxOccurs="1">
38
+ type="DSCRType" minOccurs="1" maxOccurs="1">
39
39
  </xs:element>
40
40
  <xs:element name="DSCRI"
41
41
  type="DSCRType" minOccurs="0" maxOccurs="1">
@@ -96,7 +96,7 @@
96
96
  type="DSCRType" minOccurs="1" maxOccurs="1">
97
97
  </xs:element>
98
98
  <xs:element name="DSCRF"
99
- type="DSCRType" minOccurs="0" maxOccurs="1">
99
+ type="DSCRType" minOccurs="1" maxOccurs="1">
100
100
  </xs:element>
101
101
  <xs:element name="DSCRI"
102
102
  type="DSCRType" minOccurs="0" maxOccurs="1">
@@ -187,7 +187,7 @@
187
187
  </xs:annotation>
188
188
  </xs:element>
189
189
  <xs:element name="DSCRF"
190
- type="xs:string" minOccurs="0" maxOccurs="1">
190
+ type="xs:string" minOccurs="1" maxOccurs="1">
191
191
  </xs:element>
192
192
  <xs:element name="DSCRI"
193
193
  type="xs:string" minOccurs="0" maxOccurs="1">
data/Gemfile CHANGED
@@ -6,3 +6,5 @@ group :debugger do
6
6
  gem "pry-byebug"
7
7
  gem "pry-doc"
8
8
  end
9
+
10
+ gem "nokogiri", "1.13.9"
data/Gemfile.lock ADDED
@@ -0,0 +1,198 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ oddb2xml (2.8.0)
5
+ htmlentities
6
+ httpi
7
+ mechanize
8
+ minitar
9
+ multi_json
10
+ nokogiri (>= 1.8.2)
11
+ optimist
12
+ ox
13
+ parslet
14
+ rexml
15
+ rubyXL (~> 3.4.0)
16
+ rubyntlm (= 0.5.1)
17
+ rubyzip
18
+ savon (~> 2.12.0)
19
+ sax-machine
20
+ spreadsheet
21
+ standardrb
22
+ webrick
23
+ xml-simple
24
+
25
+ GEM
26
+ remote: https://rubygems.org/
27
+ specs:
28
+ addressable (2.8.1)
29
+ public_suffix (>= 2.0.2, < 6.0)
30
+ akami (1.3.1)
31
+ gyoku (>= 0.4.0)
32
+ nokogiri
33
+ ast (2.4.2)
34
+ builder (3.2.4)
35
+ byebug (11.1.3)
36
+ coderay (1.1.3)
37
+ connection_pool (2.3.0)
38
+ crack (0.4.5)
39
+ rexml
40
+ diff-lcs (1.5.0)
41
+ domain_name (0.5.20190701)
42
+ unf (>= 0.0.5, < 1.0.0)
43
+ flexmock (2.3.6)
44
+ gyoku (1.4.0)
45
+ builder (>= 2.1.2)
46
+ rexml (~> 3.0)
47
+ hashdiff (1.0.1)
48
+ htmlentities (4.3.4)
49
+ http-cookie (1.0.5)
50
+ domain_name (~> 0.5)
51
+ httpi (2.5.0)
52
+ rack
53
+ socksify
54
+ json (2.6.3)
55
+ language_server-protocol (3.17.0.3)
56
+ mechanize (2.7.7)
57
+ domain_name (~> 0.5, >= 0.5.1)
58
+ http-cookie (~> 1.0)
59
+ mime-types (>= 1.17.2)
60
+ net-http-digest_auth (~> 1.1, >= 1.1.1)
61
+ net-http-persistent (>= 2.5.2)
62
+ nokogiri (~> 1.6)
63
+ ntlm-http (~> 0.1, >= 0.1.1)
64
+ webrick (~> 1.7)
65
+ webrobots (>= 0.0.9, < 0.2)
66
+ method_source (1.0.0)
67
+ mime-types (3.4.1)
68
+ mime-types-data (~> 3.2015)
69
+ mime-types-data (3.2022.0105)
70
+ mini_portile2 (2.8.1)
71
+ minitar (0.9)
72
+ multi_json (1.15.0)
73
+ net-http-digest_auth (1.4.1)
74
+ net-http-persistent (4.0.1)
75
+ connection_pool (~> 2.2)
76
+ nokogiri (1.13.9)
77
+ mini_portile2 (~> 2.8.0)
78
+ racc (~> 1.4)
79
+ nori (2.6.0)
80
+ ntlm-http (0.1.1)
81
+ optimist (3.0.1)
82
+ ox (2.14.12)
83
+ parallel (1.22.1)
84
+ parser (3.2.0.0)
85
+ ast (~> 2.4.1)
86
+ parslet (2.0.0)
87
+ pry (0.14.2)
88
+ coderay (~> 1.1)
89
+ method_source (~> 1.0)
90
+ pry-byebug (3.10.1)
91
+ byebug (~> 11.0)
92
+ pry (>= 0.13, < 0.15)
93
+ pry-doc (1.4.0)
94
+ pry (~> 0.11)
95
+ yard (~> 0.9.11)
96
+ psych (3.3.4)
97
+ public_suffix (5.0.1)
98
+ racc (1.6.2)
99
+ rack (3.0.8)
100
+ rainbow (3.1.1)
101
+ rake (13.0.6)
102
+ rdoc (6.3.3)
103
+ regexp_parser (2.6.2)
104
+ rexml (3.2.5)
105
+ rspec (3.12.0)
106
+ rspec-core (~> 3.12.0)
107
+ rspec-expectations (~> 3.12.0)
108
+ rspec-mocks (~> 3.12.0)
109
+ rspec-core (3.12.0)
110
+ rspec-support (~> 3.12.0)
111
+ rspec-expectations (3.12.2)
112
+ diff-lcs (>= 1.2.0, < 2.0)
113
+ rspec-support (~> 3.12.0)
114
+ rspec-mocks (3.12.2)
115
+ diff-lcs (>= 1.2.0, < 2.0)
116
+ rspec-support (~> 3.12.0)
117
+ rspec-support (3.12.0)
118
+ rubocop (1.42.0)
119
+ json (~> 2.3)
120
+ parallel (~> 1.10)
121
+ parser (>= 3.1.2.1)
122
+ rainbow (>= 2.2.2, < 4.0)
123
+ regexp_parser (>= 1.8, < 3.0)
124
+ rexml (>= 3.2.5, < 4.0)
125
+ rubocop-ast (>= 1.24.1, < 2.0)
126
+ ruby-progressbar (~> 1.7)
127
+ unicode-display_width (>= 1.4.0, < 3.0)
128
+ rubocop-ast (1.24.1)
129
+ parser (>= 3.1.1.0)
130
+ rubocop-performance (1.15.2)
131
+ rubocop (>= 1.7.0, < 2.0)
132
+ rubocop-ast (>= 0.4.0)
133
+ ruby-ole (1.2.12.2)
134
+ ruby-progressbar (1.11.0)
135
+ rubyXL (3.4.25)
136
+ nokogiri (>= 1.10.8)
137
+ rubyzip (>= 1.3.0)
138
+ rubyntlm (0.5.1)
139
+ rubyzip (2.3.2)
140
+ savon (2.12.1)
141
+ akami (~> 1.2)
142
+ builder (>= 2.1.2)
143
+ gyoku (~> 1.2)
144
+ httpi (~> 2.3)
145
+ nokogiri (>= 1.8.1)
146
+ nori (~> 2.4)
147
+ wasabi (~> 3.4)
148
+ sax-machine (1.3.2)
149
+ socksify (1.7.1)
150
+ spreadsheet (1.3.0)
151
+ ruby-ole
152
+ standard (1.22.1)
153
+ language_server-protocol (~> 3.17.0.2)
154
+ rubocop (= 1.42.0)
155
+ rubocop-performance (= 1.15.2)
156
+ standardrb (1.0.1)
157
+ standard
158
+ timecop (0.9.6)
159
+ unf (0.1.4)
160
+ unf_ext
161
+ unf_ext (0.0.8.2)
162
+ unicode-display_width (2.4.2)
163
+ vcr (6.1.0)
164
+ wasabi (3.7.0)
165
+ addressable
166
+ httpi (~> 2.0)
167
+ nokogiri (>= 1.4.2)
168
+ webmock (3.18.1)
169
+ addressable (>= 2.8.0)
170
+ crack (>= 0.3.2)
171
+ hashdiff (>= 0.4.0, < 2.0.0)
172
+ webrick (1.7.0)
173
+ webrobots (0.1.2)
174
+ xml-simple (1.1.9)
175
+ rexml
176
+ yard (0.9.28)
177
+ webrick (~> 1.7.0)
178
+
179
+ PLATFORMS
180
+ x86_64-linux
181
+
182
+ DEPENDENCIES
183
+ bundler
184
+ flexmock
185
+ nokogiri (= 1.13.9)
186
+ oddb2xml!
187
+ pry-byebug
188
+ pry-doc
189
+ psych (< 4.0.0)
190
+ rake
191
+ rdoc (~> 6.3.3)
192
+ rspec
193
+ timecop
194
+ vcr
195
+ webmock
196
+
197
+ BUNDLED WITH
198
+ 2.3.26
data/LICENSE CHANGED
File without changes
data/Manifest.txt CHANGED
File without changes
data/QA.md CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/artikelstamm.md CHANGED
File without changes
File without changes
data/data/gal_forms.yaml CHANGED
File without changes
data/data/gal_groups.yaml CHANGED
File without changes
File without changes
File without changes
File without changes
data/flake.lock ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "nodes": {
3
+ "flake-utils": {
4
+ "locked": {
5
+ "lastModified": 1667395993,
6
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
7
+ "owner": "numtide",
8
+ "repo": "flake-utils",
9
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
10
+ "type": "github"
11
+ },
12
+ "original": {
13
+ "owner": "numtide",
14
+ "repo": "flake-utils",
15
+ "type": "github"
16
+ }
17
+ },
18
+ "flake-utils_2": {
19
+ "locked": {
20
+ "lastModified": 1667395993,
21
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
22
+ "owner": "numtide",
23
+ "repo": "flake-utils",
24
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
25
+ "type": "github"
26
+ },
27
+ "original": {
28
+ "owner": "numtide",
29
+ "repo": "flake-utils",
30
+ "type": "github"
31
+ }
32
+ },
33
+ "nixpkgs": {
34
+ "locked": {
35
+ "lastModified": 1673612960,
36
+ "narHash": "sha256-DWR7hrbecJKmUJCswk9MXZta710mq+3jZwTvHU/UfyY=",
37
+ "owner": "NixOS",
38
+ "repo": "nixpkgs",
39
+ "rev": "e285dd0ca97c264003867c7329f0d1f4f028739c",
40
+ "type": "github"
41
+ },
42
+ "original": {
43
+ "owner": "NixOS",
44
+ "ref": "nixos-22.11",
45
+ "repo": "nixpkgs",
46
+ "type": "github"
47
+ }
48
+ },
49
+ "nixpkgs-ruby": {
50
+ "inputs": {
51
+ "flake-utils": "flake-utils_2",
52
+ "nixpkgs": [
53
+ "nixpkgs"
54
+ ]
55
+ },
56
+ "locked": {
57
+ "lastModified": 1673619470,
58
+ "narHash": "sha256-6Pfp5dhF9+ya4oQmQAU/K747Yp6Ma+wIJhvPMtSeLKE=",
59
+ "owner": "bobvanderlinden",
60
+ "repo": "nixpkgs-ruby",
61
+ "rev": "b6a9c031949935d40438f957479ee8a924d3d5ab",
62
+ "type": "github"
63
+ },
64
+ "original": {
65
+ "owner": "bobvanderlinden",
66
+ "repo": "nixpkgs-ruby",
67
+ "type": "github"
68
+ }
69
+ },
70
+ "root": {
71
+ "inputs": {
72
+ "flake-utils": "flake-utils",
73
+ "nixpkgs": "nixpkgs",
74
+ "nixpkgs-ruby": "nixpkgs-ruby"
75
+ }
76
+ }
77
+ },
78
+ "root": "root",
79
+ "version": 7
80
+ }
data/flake.nix ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ inputs = {
3
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
4
+ nixpkgs-ruby.url = "github:bobvanderlinden/nixpkgs-ruby";
5
+ nixpkgs-ruby.inputs.nixpkgs.follows = "nixpkgs";
6
+ flake-utils.url = "github:numtide/flake-utils";
7
+ };
8
+
9
+ outputs = { self, nixpkgs, nixpkgs-ruby, flake-utils }:
10
+ flake-utils.lib.eachDefaultSystem (system:
11
+ let
12
+ pkgs = nixpkgs.legacyPackages.${system};
13
+ rubyVersion = nixpkgs.lib.strings.removePrefix "ruby-"
14
+ (nixpkgs.lib.fileContents ./.ruby-version);
15
+ ruby = nixpkgs-ruby.packages.${system}."ruby-${rubyVersion}";
16
+
17
+ gems = pkgs.bundlerEnv {
18
+ name = "gemset";
19
+ inherit ruby;
20
+ gemfile = ./Gemfile;
21
+ lockfile = ./Gemfile.lock;
22
+ gemset = ./gemset.nix;
23
+ groups = [ "default" "production" "development" "test" ];
24
+ };
25
+ in
26
+ {
27
+ devShell = with pkgs;
28
+ mkShell {
29
+ buildInputs = [
30
+ gems
31
+ ruby
32
+ bundix
33
+ ];
34
+ };
35
+ });
36
+ }