oddb2xml 2.7.9 → 2.8.1

Sign up to get free protection for your applications and to get access to all the features.
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 +40 -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: 7cc43d372c64564821c3594e837a93058f4b9aeb51bef7dd76036e694fed737a
4
+ data.tar.gz: 44e66c7136db33e6cbb656f070522cffe920f736a1a15ddfa2fa8363a79b3ca4
5
5
  SHA512:
6
- metadata.gz: 793bc30149238fdfb22dc990fee57dc6913d3fa825fa2647ebcd0aee82264287f006765d082256c02215d37337efd8218ebaf9fed8297d5beb0f94d7ffb7ff2d
7
- data.tar.gz: 230acb26a3931afa47be553a740095d2b5d352143d3304985eb4b80f532bc254c225f535ca575be2219ffa15193cdb09cf7bb2ad3d5311d9957dbf056f20c7ae
6
+ metadata.gz: 94d01ca34a3d6d535f14f873d377c5a46ae99a28c63330fe5fe14f886f416218d75df5ab3201fd05da9c607110de05666d6297fdfb9941a3b2f61a1a87517560
7
+ data.tar.gz: 6313c7015702732aa1be35b404b2b87a4230adc0b20bc8600bfa55d4c7e93ce8f16bab9cc13b6748927ce4ba13d0d97862ceabed64d81ae9baed397c436fd0ac
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.1)
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
+ ruby
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
+ }