tdc 0.4.4 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9afbee316bed8c63956e2a3f1626e376101940ecbb83e45fc6f7dd699d626df4
4
- data.tar.gz: c4f164c51b6421490d157cbf4761ad4d9e634af72a6a52a6bce0443cfd4b32a9
3
+ metadata.gz: 9a1b05b8dd3f32521ca07662d63839cfc085dfb08f17d877266cf021d79836f1
4
+ data.tar.gz: 2e0377e9c7dba6e26f63c630c4d971f56f0a0b4cd160cf1da444c1813c24bc0e
5
5
  SHA512:
6
- metadata.gz: fd3f18ae6079f57dce2faa700c27ec64c86f266eb54820a2952beeeefcf3d4e8bcb0a785e69b02b222bcfa29f56ad5484c888dcea3d8d74e58610435ac4273e0
7
- data.tar.gz: 219c4136fc7dc4717e9c83849d7318cbe05751b661dd9d95bbbaa2cc5a621188a44b13b7e2624c9c80c4126e34ced7274673dabe0af6e62488977cefa26e29ac
6
+ metadata.gz: aa8cafd244bc31cde085c9dc367fd2885445c8871f43a972157457c19352b92954810afa3def3bc1993bd45ca15836875c951f9de5eab065e7e2174dc989b206
7
+ data.tar.gz: 280d6542fe6ad08ca1c21b0fd4fa4f1b6cc7933063d63cf4047dac769dd0bbbba1d3e1fbf8f3d17a54fd240b870d0c46be82498e3511dd344fec19bbc2ea9d5d
data/.rubocop.yml CHANGED
@@ -1,9 +1,10 @@
1
1
  require:
2
+ - rubocop-rake
2
3
  - rubocop-rspec
3
4
 
4
5
  AllCops:
5
6
  NewCops: enable
6
- TargetRubyVersion: 2.6
7
+ TargetRubyVersion: 2.7
7
8
 
8
9
  Exclude:
9
10
  - 'bin/**/*'
@@ -20,7 +21,10 @@ Lint/MissingSuper:
20
21
  Enabled: false
21
22
 
22
23
  Metrics/BlockLength:
23
- Enabled: false
24
+ Exclude:
25
+ - 'tdc.gemspec'
26
+ - '**/*_shared_example.rb'
27
+ - '**/*_spec.rb'
24
28
 
25
29
  Naming/MemoizedInstanceVariableName:
26
30
  EnforcedStyleForLeadingUnderscores: required
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.6
1
+ 2.7.3
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "rails-6" do
2
+ gem "rails", "6.0.3.4"
3
+ end
4
+
5
+ appraise "rails-6-1" do
6
+ gem "rails", "6.1.3.2"
7
+ end
data/CHANGELOG.md CHANGED
@@ -6,6 +6,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.5.0] - 2021-06-12
10
+
11
+ - Support Rails 6.1.x
12
+ - Drop support for Rails 5.2.x
13
+
14
+ ## [0.4.7] - 2020-11-04
15
+
16
+ - Support Rails 6.0.x
17
+
18
+ ## [0.4.6.1] - 2020-09-29
19
+
20
+ - Add the #catalog_root_directory method to DataDefinitionFileReader
21
+
22
+ ## [0.4.6] - 2020-09-26
23
+
24
+ - Better error message when a tag cannot be resolved
25
+
26
+ Note: version `0.4.5` was yanked from RubyGems.
27
+
28
+ ## [0.4.4.1] - 2020-09-12
29
+
30
+ - Avoid registering the same class of interpreter a second time
31
+
9
32
  ## [0.4.4] - 2020-08-25
10
33
 
11
34
  #### Breaking Changes
data/Gemfile CHANGED
@@ -2,6 +2,3 @@ source "https://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in tdc.gemspec
4
4
  gemspec
5
-
6
- gem "rake", "~> 12.0"
7
- gem "rspec", "~> 3.0"
data/Rakefile CHANGED
@@ -1,8 +1,18 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
  require "rubocop/rake_task"
4
+ require "rubycritic/rake_task"
4
5
 
5
- RuboCop::RakeTask.new
6
6
  RSpec::Core::RakeTask.new(:spec)
7
+ RuboCop::RakeTask.new
8
+
9
+ RubyCritic::RakeTask.new do |task|
10
+ files = FileList["**/*.rb"]
11
+ files.exclude("**/*_spec.rb")
12
+ files.exclude("**/*_shared_example.rb")
13
+
14
+ task.paths = files
15
+ end
7
16
 
8
- task :default => [:rubocop, :spec]
17
+ task :all => [:rubocop, :spec]
18
+ task :default => [:spec]
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "6.0.3.4"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,258 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ tdc (0.4.7)
5
+ activesupport (>= 5.2.4, < 7.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (6.0.3.4)
11
+ actionpack (= 6.0.3.4)
12
+ nio4r (~> 2.0)
13
+ websocket-driver (>= 0.6.1)
14
+ actionmailbox (6.0.3.4)
15
+ actionpack (= 6.0.3.4)
16
+ activejob (= 6.0.3.4)
17
+ activerecord (= 6.0.3.4)
18
+ activestorage (= 6.0.3.4)
19
+ activesupport (= 6.0.3.4)
20
+ mail (>= 2.7.1)
21
+ actionmailer (6.0.3.4)
22
+ actionpack (= 6.0.3.4)
23
+ actionview (= 6.0.3.4)
24
+ activejob (= 6.0.3.4)
25
+ mail (~> 2.5, >= 2.5.4)
26
+ rails-dom-testing (~> 2.0)
27
+ actionpack (6.0.3.4)
28
+ actionview (= 6.0.3.4)
29
+ activesupport (= 6.0.3.4)
30
+ rack (~> 2.0, >= 2.0.8)
31
+ rack-test (>= 0.6.3)
32
+ rails-dom-testing (~> 2.0)
33
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
34
+ actiontext (6.0.3.4)
35
+ actionpack (= 6.0.3.4)
36
+ activerecord (= 6.0.3.4)
37
+ activestorage (= 6.0.3.4)
38
+ activesupport (= 6.0.3.4)
39
+ nokogiri (>= 1.8.5)
40
+ actionview (6.0.3.4)
41
+ activesupport (= 6.0.3.4)
42
+ builder (~> 3.1)
43
+ erubi (~> 1.4)
44
+ rails-dom-testing (~> 2.0)
45
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
46
+ activejob (6.0.3.4)
47
+ activesupport (= 6.0.3.4)
48
+ globalid (>= 0.3.6)
49
+ activemodel (6.0.3.4)
50
+ activesupport (= 6.0.3.4)
51
+ activerecord (6.0.3.4)
52
+ activemodel (= 6.0.3.4)
53
+ activesupport (= 6.0.3.4)
54
+ activestorage (6.0.3.4)
55
+ actionpack (= 6.0.3.4)
56
+ activejob (= 6.0.3.4)
57
+ activerecord (= 6.0.3.4)
58
+ marcel (~> 0.3.1)
59
+ activesupport (6.0.3.4)
60
+ concurrent-ruby (~> 1.0, >= 1.0.2)
61
+ i18n (>= 0.7, < 2)
62
+ minitest (~> 5.1)
63
+ tzinfo (~> 1.1)
64
+ zeitwerk (~> 2.2, >= 2.2.2)
65
+ addressable (2.7.0)
66
+ public_suffix (>= 2.0.2, < 5.0)
67
+ appraisal (2.4.0)
68
+ bundler
69
+ rake
70
+ thor (>= 0.14.0)
71
+ ast (2.4.2)
72
+ axiom-types (0.1.1)
73
+ descendants_tracker (~> 0.0.4)
74
+ ice_nine (~> 0.11.0)
75
+ thread_safe (~> 0.3, >= 0.3.1)
76
+ builder (3.2.4)
77
+ coercible (1.0.0)
78
+ descendants_tracker (~> 0.0.1)
79
+ concurrent-ruby (1.1.9)
80
+ crass (1.0.6)
81
+ descendants_tracker (0.0.4)
82
+ thread_safe (~> 0.3, >= 0.3.1)
83
+ diff-lcs (1.4.4)
84
+ docile (1.4.0)
85
+ equalizer (0.0.11)
86
+ erubi (1.10.0)
87
+ erubis (2.7.0)
88
+ flay (2.12.1)
89
+ erubis (~> 2.7.0)
90
+ path_expander (~> 1.0)
91
+ ruby_parser (~> 3.0)
92
+ sexp_processor (~> 4.0)
93
+ flog (4.6.4)
94
+ path_expander (~> 1.0)
95
+ ruby_parser (~> 3.1, > 3.1.0)
96
+ sexp_processor (~> 4.8)
97
+ globalid (0.4.2)
98
+ activesupport (>= 4.2.0)
99
+ i18n (1.8.10)
100
+ concurrent-ruby (~> 1.0)
101
+ ice_nine (0.11.2)
102
+ kwalify (0.7.2)
103
+ launchy (2.5.0)
104
+ addressable (~> 2.7)
105
+ loofah (2.10.0)
106
+ crass (~> 1.0.2)
107
+ nokogiri (>= 1.5.9)
108
+ mail (2.7.1)
109
+ mini_mime (>= 0.1.1)
110
+ marcel (0.3.3)
111
+ mimemagic (~> 0.3.2)
112
+ method_source (1.0.0)
113
+ mimemagic (0.3.10)
114
+ nokogiri (~> 1)
115
+ rake
116
+ mini_mime (1.1.0)
117
+ minitest (5.14.4)
118
+ nio4r (2.5.7)
119
+ nokogiri (1.11.7-x86_64-darwin)
120
+ racc (~> 1.4)
121
+ parallel (1.20.1)
122
+ parser (3.0.1.1)
123
+ ast (~> 2.4.1)
124
+ path_expander (1.1.0)
125
+ psych (3.3.2)
126
+ public_suffix (4.0.6)
127
+ racc (1.5.2)
128
+ rack (2.2.3)
129
+ rack-test (1.1.0)
130
+ rack (>= 1.0, < 3)
131
+ rails (6.0.3.4)
132
+ actioncable (= 6.0.3.4)
133
+ actionmailbox (= 6.0.3.4)
134
+ actionmailer (= 6.0.3.4)
135
+ actionpack (= 6.0.3.4)
136
+ actiontext (= 6.0.3.4)
137
+ actionview (= 6.0.3.4)
138
+ activejob (= 6.0.3.4)
139
+ activemodel (= 6.0.3.4)
140
+ activerecord (= 6.0.3.4)
141
+ activestorage (= 6.0.3.4)
142
+ activesupport (= 6.0.3.4)
143
+ bundler (>= 1.3.0)
144
+ railties (= 6.0.3.4)
145
+ sprockets-rails (>= 2.0.0)
146
+ rails-dom-testing (2.0.3)
147
+ activesupport (>= 4.2.0)
148
+ nokogiri (>= 1.6)
149
+ rails-html-sanitizer (1.3.0)
150
+ loofah (~> 2.3)
151
+ railties (6.0.3.4)
152
+ actionpack (= 6.0.3.4)
153
+ activesupport (= 6.0.3.4)
154
+ method_source
155
+ rake (>= 0.8.7)
156
+ thor (>= 0.20.3, < 2.0)
157
+ rainbow (3.0.0)
158
+ rake (13.0.3)
159
+ reek (6.0.4)
160
+ kwalify (~> 0.7.0)
161
+ parser (~> 3.0.0)
162
+ psych (~> 3.1)
163
+ rainbow (>= 2.0, < 4.0)
164
+ regexp_parser (2.1.1)
165
+ rexml (3.2.5)
166
+ rspec (3.10.0)
167
+ rspec-core (~> 3.10.0)
168
+ rspec-expectations (~> 3.10.0)
169
+ rspec-mocks (~> 3.10.0)
170
+ rspec-core (3.10.1)
171
+ rspec-support (~> 3.10.0)
172
+ rspec-expectations (3.10.1)
173
+ diff-lcs (>= 1.2.0, < 2.0)
174
+ rspec-support (~> 3.10.0)
175
+ rspec-mocks (3.10.2)
176
+ diff-lcs (>= 1.2.0, < 2.0)
177
+ rspec-support (~> 3.10.0)
178
+ rspec-support (3.10.2)
179
+ rubocop (1.16.1)
180
+ parallel (~> 1.10)
181
+ parser (>= 3.0.0.0)
182
+ rainbow (>= 2.2.2, < 4.0)
183
+ regexp_parser (>= 1.8, < 3.0)
184
+ rexml
185
+ rubocop-ast (>= 1.7.0, < 2.0)
186
+ ruby-progressbar (~> 1.7)
187
+ unicode-display_width (>= 1.4.0, < 3.0)
188
+ rubocop-ast (1.7.0)
189
+ parser (>= 3.0.1.1)
190
+ rubocop-performance (1.11.3)
191
+ rubocop (>= 1.7.0, < 2.0)
192
+ rubocop-ast (>= 0.4.0)
193
+ rubocop-rake (0.5.1)
194
+ rubocop
195
+ rubocop-rspec (1.42.0)
196
+ rubocop (>= 0.87.0)
197
+ ruby-progressbar (1.11.0)
198
+ ruby_parser (3.16.0)
199
+ sexp_processor (~> 4.15, >= 4.15.1)
200
+ rubycritic (4.6.1)
201
+ flay (~> 2.8)
202
+ flog (~> 4.4)
203
+ launchy (>= 2.0.0)
204
+ parser (>= 2.6.0)
205
+ rainbow (~> 3.0)
206
+ reek (~> 6.0, < 7.0)
207
+ ruby_parser (~> 3.8)
208
+ simplecov (>= 0.17.0)
209
+ tty-which (~> 0.4.0)
210
+ virtus (~> 1.0)
211
+ sexp_processor (4.15.3)
212
+ simplecov (0.21.2)
213
+ docile (~> 1.1)
214
+ simplecov-html (~> 0.11)
215
+ simplecov_json_formatter (~> 0.1)
216
+ simplecov-html (0.12.3)
217
+ simplecov_json_formatter (0.1.3)
218
+ sprockets (4.0.2)
219
+ concurrent-ruby (~> 1.0)
220
+ rack (> 1, < 3)
221
+ sprockets-rails (3.2.2)
222
+ actionpack (>= 4.0)
223
+ activesupport (>= 4.0)
224
+ sprockets (>= 3.0.0)
225
+ thor (1.1.0)
226
+ thread_safe (0.3.6)
227
+ tty-which (0.4.2)
228
+ tzinfo (1.2.9)
229
+ thread_safe (~> 0.1)
230
+ unicode-display_width (2.0.0)
231
+ virtus (1.0.5)
232
+ axiom-types (~> 0.1)
233
+ coercible (~> 1.0)
234
+ descendants_tracker (~> 0.0, >= 0.0.3)
235
+ equalizer (~> 0.0, >= 0.0.9)
236
+ websocket-driver (0.7.4)
237
+ websocket-extensions (>= 0.1.0)
238
+ websocket-extensions (0.1.5)
239
+ zeitwerk (2.4.2)
240
+
241
+ PLATFORMS
242
+ x86_64-darwin-20
243
+
244
+ DEPENDENCIES
245
+ appraisal (>= 2.4, < 3.0)
246
+ rails (= 6.0.3.4)
247
+ rake (>= 13.0, < 14.0)
248
+ rspec (>= 3.10, < 4.0)
249
+ rubocop (>= 1.0, < 2.0)
250
+ rubocop-performance (>= 1.0, < 2.0)
251
+ rubocop-rake (>= 0.5, < 1.0)
252
+ rubocop-rspec (>= 1.0, < 2.0)
253
+ rubycritic (>= 4.6, < 5.0)
254
+ simplecov (~> 0.21)
255
+ tdc!
256
+
257
+ BUNDLED WITH
258
+ 2.2.10
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "6.1.3.2"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,258 @@
1
+ PATH
2
+ remote: ..
3
+ specs:
4
+ tdc (0.4.7)
5
+ activesupport (>= 5.2.4, < 7.0)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ actioncable (6.1.3.2)
11
+ actionpack (= 6.1.3.2)
12
+ activesupport (= 6.1.3.2)
13
+ nio4r (~> 2.0)
14
+ websocket-driver (>= 0.6.1)
15
+ actionmailbox (6.1.3.2)
16
+ actionpack (= 6.1.3.2)
17
+ activejob (= 6.1.3.2)
18
+ activerecord (= 6.1.3.2)
19
+ activestorage (= 6.1.3.2)
20
+ activesupport (= 6.1.3.2)
21
+ mail (>= 2.7.1)
22
+ actionmailer (6.1.3.2)
23
+ actionpack (= 6.1.3.2)
24
+ actionview (= 6.1.3.2)
25
+ activejob (= 6.1.3.2)
26
+ activesupport (= 6.1.3.2)
27
+ mail (~> 2.5, >= 2.5.4)
28
+ rails-dom-testing (~> 2.0)
29
+ actionpack (6.1.3.2)
30
+ actionview (= 6.1.3.2)
31
+ activesupport (= 6.1.3.2)
32
+ rack (~> 2.0, >= 2.0.9)
33
+ rack-test (>= 0.6.3)
34
+ rails-dom-testing (~> 2.0)
35
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
+ actiontext (6.1.3.2)
37
+ actionpack (= 6.1.3.2)
38
+ activerecord (= 6.1.3.2)
39
+ activestorage (= 6.1.3.2)
40
+ activesupport (= 6.1.3.2)
41
+ nokogiri (>= 1.8.5)
42
+ actionview (6.1.3.2)
43
+ activesupport (= 6.1.3.2)
44
+ builder (~> 3.1)
45
+ erubi (~> 1.4)
46
+ rails-dom-testing (~> 2.0)
47
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
+ activejob (6.1.3.2)
49
+ activesupport (= 6.1.3.2)
50
+ globalid (>= 0.3.6)
51
+ activemodel (6.1.3.2)
52
+ activesupport (= 6.1.3.2)
53
+ activerecord (6.1.3.2)
54
+ activemodel (= 6.1.3.2)
55
+ activesupport (= 6.1.3.2)
56
+ activestorage (6.1.3.2)
57
+ actionpack (= 6.1.3.2)
58
+ activejob (= 6.1.3.2)
59
+ activerecord (= 6.1.3.2)
60
+ activesupport (= 6.1.3.2)
61
+ marcel (~> 1.0.0)
62
+ mini_mime (~> 1.0.2)
63
+ activesupport (6.1.3.2)
64
+ concurrent-ruby (~> 1.0, >= 1.0.2)
65
+ i18n (>= 1.6, < 2)
66
+ minitest (>= 5.1)
67
+ tzinfo (~> 2.0)
68
+ zeitwerk (~> 2.3)
69
+ addressable (2.7.0)
70
+ public_suffix (>= 2.0.2, < 5.0)
71
+ appraisal (2.4.0)
72
+ bundler
73
+ rake
74
+ thor (>= 0.14.0)
75
+ ast (2.4.2)
76
+ axiom-types (0.1.1)
77
+ descendants_tracker (~> 0.0.4)
78
+ ice_nine (~> 0.11.0)
79
+ thread_safe (~> 0.3, >= 0.3.1)
80
+ builder (3.2.4)
81
+ coercible (1.0.0)
82
+ descendants_tracker (~> 0.0.1)
83
+ concurrent-ruby (1.1.9)
84
+ crass (1.0.6)
85
+ descendants_tracker (0.0.4)
86
+ thread_safe (~> 0.3, >= 0.3.1)
87
+ diff-lcs (1.4.4)
88
+ docile (1.4.0)
89
+ equalizer (0.0.11)
90
+ erubi (1.10.0)
91
+ erubis (2.7.0)
92
+ flay (2.12.1)
93
+ erubis (~> 2.7.0)
94
+ path_expander (~> 1.0)
95
+ ruby_parser (~> 3.0)
96
+ sexp_processor (~> 4.0)
97
+ flog (4.6.4)
98
+ path_expander (~> 1.0)
99
+ ruby_parser (~> 3.1, > 3.1.0)
100
+ sexp_processor (~> 4.8)
101
+ globalid (0.4.2)
102
+ activesupport (>= 4.2.0)
103
+ i18n (1.8.10)
104
+ concurrent-ruby (~> 1.0)
105
+ ice_nine (0.11.2)
106
+ kwalify (0.7.2)
107
+ launchy (2.5.0)
108
+ addressable (~> 2.7)
109
+ loofah (2.10.0)
110
+ crass (~> 1.0.2)
111
+ nokogiri (>= 1.5.9)
112
+ mail (2.7.1)
113
+ mini_mime (>= 0.1.1)
114
+ marcel (1.0.1)
115
+ method_source (1.0.0)
116
+ mini_mime (1.0.3)
117
+ minitest (5.14.4)
118
+ nio4r (2.5.7)
119
+ nokogiri (1.11.7-x86_64-darwin)
120
+ racc (~> 1.4)
121
+ parallel (1.20.1)
122
+ parser (3.0.1.1)
123
+ ast (~> 2.4.1)
124
+ path_expander (1.1.0)
125
+ psych (3.3.2)
126
+ public_suffix (4.0.6)
127
+ racc (1.5.2)
128
+ rack (2.2.3)
129
+ rack-test (1.1.0)
130
+ rack (>= 1.0, < 3)
131
+ rails (6.1.3.2)
132
+ actioncable (= 6.1.3.2)
133
+ actionmailbox (= 6.1.3.2)
134
+ actionmailer (= 6.1.3.2)
135
+ actionpack (= 6.1.3.2)
136
+ actiontext (= 6.1.3.2)
137
+ actionview (= 6.1.3.2)
138
+ activejob (= 6.1.3.2)
139
+ activemodel (= 6.1.3.2)
140
+ activerecord (= 6.1.3.2)
141
+ activestorage (= 6.1.3.2)
142
+ activesupport (= 6.1.3.2)
143
+ bundler (>= 1.15.0)
144
+ railties (= 6.1.3.2)
145
+ sprockets-rails (>= 2.0.0)
146
+ rails-dom-testing (2.0.3)
147
+ activesupport (>= 4.2.0)
148
+ nokogiri (>= 1.6)
149
+ rails-html-sanitizer (1.3.0)
150
+ loofah (~> 2.3)
151
+ railties (6.1.3.2)
152
+ actionpack (= 6.1.3.2)
153
+ activesupport (= 6.1.3.2)
154
+ method_source
155
+ rake (>= 0.8.7)
156
+ thor (~> 1.0)
157
+ rainbow (3.0.0)
158
+ rake (13.0.3)
159
+ reek (6.0.4)
160
+ kwalify (~> 0.7.0)
161
+ parser (~> 3.0.0)
162
+ psych (~> 3.1)
163
+ rainbow (>= 2.0, < 4.0)
164
+ regexp_parser (2.1.1)
165
+ rexml (3.2.5)
166
+ rspec (3.10.0)
167
+ rspec-core (~> 3.10.0)
168
+ rspec-expectations (~> 3.10.0)
169
+ rspec-mocks (~> 3.10.0)
170
+ rspec-core (3.10.1)
171
+ rspec-support (~> 3.10.0)
172
+ rspec-expectations (3.10.1)
173
+ diff-lcs (>= 1.2.0, < 2.0)
174
+ rspec-support (~> 3.10.0)
175
+ rspec-mocks (3.10.2)
176
+ diff-lcs (>= 1.2.0, < 2.0)
177
+ rspec-support (~> 3.10.0)
178
+ rspec-support (3.10.2)
179
+ rubocop (1.16.1)
180
+ parallel (~> 1.10)
181
+ parser (>= 3.0.0.0)
182
+ rainbow (>= 2.2.2, < 4.0)
183
+ regexp_parser (>= 1.8, < 3.0)
184
+ rexml
185
+ rubocop-ast (>= 1.7.0, < 2.0)
186
+ ruby-progressbar (~> 1.7)
187
+ unicode-display_width (>= 1.4.0, < 3.0)
188
+ rubocop-ast (1.7.0)
189
+ parser (>= 3.0.1.1)
190
+ rubocop-performance (1.11.3)
191
+ rubocop (>= 1.7.0, < 2.0)
192
+ rubocop-ast (>= 0.4.0)
193
+ rubocop-rake (0.5.1)
194
+ rubocop
195
+ rubocop-rspec (1.42.0)
196
+ rubocop (>= 0.87.0)
197
+ ruby-progressbar (1.11.0)
198
+ ruby_parser (3.16.0)
199
+ sexp_processor (~> 4.15, >= 4.15.1)
200
+ rubycritic (4.6.1)
201
+ flay (~> 2.8)
202
+ flog (~> 4.4)
203
+ launchy (>= 2.0.0)
204
+ parser (>= 2.6.0)
205
+ rainbow (~> 3.0)
206
+ reek (~> 6.0, < 7.0)
207
+ ruby_parser (~> 3.8)
208
+ simplecov (>= 0.17.0)
209
+ tty-which (~> 0.4.0)
210
+ virtus (~> 1.0)
211
+ sexp_processor (4.15.3)
212
+ simplecov (0.21.2)
213
+ docile (~> 1.1)
214
+ simplecov-html (~> 0.11)
215
+ simplecov_json_formatter (~> 0.1)
216
+ simplecov-html (0.12.3)
217
+ simplecov_json_formatter (0.1.3)
218
+ sprockets (4.0.2)
219
+ concurrent-ruby (~> 1.0)
220
+ rack (> 1, < 3)
221
+ sprockets-rails (3.2.2)
222
+ actionpack (>= 4.0)
223
+ activesupport (>= 4.0)
224
+ sprockets (>= 3.0.0)
225
+ thor (1.1.0)
226
+ thread_safe (0.3.6)
227
+ tty-which (0.4.2)
228
+ tzinfo (2.0.4)
229
+ concurrent-ruby (~> 1.0)
230
+ unicode-display_width (2.0.0)
231
+ virtus (1.0.5)
232
+ axiom-types (~> 0.1)
233
+ coercible (~> 1.0)
234
+ descendants_tracker (~> 0.0, >= 0.0.3)
235
+ equalizer (~> 0.0, >= 0.0.9)
236
+ websocket-driver (0.7.4)
237
+ websocket-extensions (>= 0.1.0)
238
+ websocket-extensions (0.1.5)
239
+ zeitwerk (2.4.2)
240
+
241
+ PLATFORMS
242
+ x86_64-darwin-20
243
+
244
+ DEPENDENCIES
245
+ appraisal (>= 2.4, < 3.0)
246
+ rails (= 6.1.3.2)
247
+ rake (>= 13.0, < 14.0)
248
+ rspec (>= 3.10, < 4.0)
249
+ rubocop (>= 1.0, < 2.0)
250
+ rubocop-performance (>= 1.0, < 2.0)
251
+ rubocop-rake (>= 0.5, < 1.0)
252
+ rubocop-rspec (>= 1.0, < 2.0)
253
+ rubycritic (>= 4.6, < 5.0)
254
+ simplecov (~> 0.21)
255
+ tdc!
256
+
257
+ BUNDLED WITH
258
+ 2.2.10
@@ -5,6 +5,8 @@ module Tdc
5
5
  class DataDefinitionFileReader < Tdc::DataDefinition
6
6
  EMPTY_DEFINITIONS = []
7
7
 
8
+ attr_reader :catalog_root_directory
9
+
8
10
  def initialize(catalog_root_directory)
9
11
  @catalog_root_directory = catalog_root_directory
10
12
  end
@@ -24,15 +24,23 @@ module Tdc
24
24
  # Use the tag to source an object from the current catalog.
25
25
  sourced_object = catalog_entry.send(tag)
26
26
 
27
- unless sourced_object
28
- message = "Could not find a tag reference for '#{key}' in the catalog entries provided."
29
-
30
- raise Tdc::FatalError, message
31
- end
27
+ unresolvable_tag(tag, catalog_entry) unless sourced_object
32
28
 
33
29
  # Replace the tag value with the sourced object.
34
30
  instance_definition[key] = sourced_object
35
31
  end
32
+
33
+ private
34
+
35
+ def unresolvable_tag(tag, catalog_entry)
36
+ source_tags = catalog_entry.entries.sort.map { |entry| "'#{entry}'" }.to_sentence
37
+
38
+ raise Tdc::FatalError, <<~MESSAGE
39
+ Could not resolve key '#{key}' from source '#{source}'.
40
+
41
+ Attempted to resolve tag '#{tag}' from these tags: #{source_tags}
42
+ MESSAGE
43
+ end
36
44
  end
37
45
  end
38
46
  end
@@ -14,6 +14,10 @@ module Tdc
14
14
  @interpreters = []
15
15
  end
16
16
 
17
+ def clear
18
+ @interpreters = []
19
+ end
20
+
17
21
  def interpreters
18
22
  @interpreters.empty? ? [default_interpreter] : @interpreters
19
23
  end
@@ -23,6 +27,9 @@ module Tdc
23
27
  Cannot register an interpreter unless it inherits from Tdc::ExtendedAttributes::InterpreterBase
24
28
  MSG
25
29
 
30
+ # Avoid registering the same class of interpreter a second time.
31
+ return if @interpreters.map(&:class).include?(interpreter.class)
32
+
26
33
  @interpreters << interpreter
27
34
  end
28
35
 
@@ -1,7 +1,4 @@
1
1
  module Tdc
2
2
  class FatalError < RuntimeError
3
- def initialize(msg = nil)
4
- super
5
- end
6
3
  end
7
4
  end
@@ -13,6 +13,10 @@ module Tdc
13
13
  to_h.empty?
14
14
  end
15
15
 
16
+ def entries
17
+ to_h.keys
18
+ end
19
+
16
20
  def first
17
21
  to_h.first&.second
18
22
  end
@@ -46,7 +46,7 @@ module Tdc
46
46
  end
47
47
  end
48
48
 
49
- def respond_to_missing?(method, include_all = false) # rubocop:disable Style/OptionalBooleanParameter
49
+ def respond_to_missing?(method, include_all = false)
50
50
  ghost_definition?(method) || ghost_optional_definition?(method) ? true : super
51
51
  end
52
52
 
data/lib/tdc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tdc
2
- VERSION = "0.4.4"
2
+ VERSION = "0.5.0"
3
3
  end
data/tdc.gemspec CHANGED
@@ -28,11 +28,15 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.add_runtime_dependency "activesupport", "~> 5.2.4"
31
+ spec.add_runtime_dependency "activesupport", ">= 5.2.4", "< 7.0"
32
32
 
33
- spec.add_development_dependency "rake", ">= 12.1", "< 13.1"
34
- spec.add_development_dependency "rspec", ">= 3.9", "< 4.0"
35
- spec.add_development_dependency "rubocop", "~> 0.89"
36
- spec.add_development_dependency "rubocop-rspec", "~> 1.42"
37
- spec.add_development_dependency "simplecov", "~> 0.17"
33
+ spec.add_development_dependency "appraisal", ">= 2.4", "< 3.0"
34
+ spec.add_development_dependency "rake", ">= 13.0", "< 14.0"
35
+ spec.add_development_dependency "rspec", ">= 3.10", "< 4.0"
36
+ spec.add_development_dependency "rubocop", ">= 1.0", "< 2.0"
37
+ spec.add_development_dependency "rubocop-performance", ">= 1.0", "< 2.0"
38
+ spec.add_development_dependency "rubocop-rake", ">= 0.5", "< 1.0"
39
+ spec.add_development_dependency "rubocop-rspec", ">= 1.0", "< 2.0"
40
+ spec.add_development_dependency "rubycritic", ">= 4.6", "< 5.0"
41
+ spec.add_development_dependency "simplecov", "~> 0.21"
38
42
  end
metadata CHANGED
@@ -1,56 +1,82 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tdc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alistair McKinnell
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2021-06-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 5.2.4
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '7.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 5.2.4
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '7.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: appraisal
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '2.4'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.0'
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '2.4'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.0'
27
53
  - !ruby/object:Gem::Dependency
28
54
  name: rake
29
55
  requirement: !ruby/object:Gem::Requirement
30
56
  requirements:
31
57
  - - ">="
32
58
  - !ruby/object:Gem::Version
33
- version: '12.1'
59
+ version: '13.0'
34
60
  - - "<"
35
61
  - !ruby/object:Gem::Version
36
- version: '13.1'
62
+ version: '14.0'
37
63
  type: :development
38
64
  prerelease: false
39
65
  version_requirements: !ruby/object:Gem::Requirement
40
66
  requirements:
41
67
  - - ">="
42
68
  - !ruby/object:Gem::Version
43
- version: '12.1'
69
+ version: '13.0'
44
70
  - - "<"
45
71
  - !ruby/object:Gem::Version
46
- version: '13.1'
72
+ version: '14.0'
47
73
  - !ruby/object:Gem::Dependency
48
74
  name: rspec
49
75
  requirement: !ruby/object:Gem::Requirement
50
76
  requirements:
51
77
  - - ">="
52
78
  - !ruby/object:Gem::Version
53
- version: '3.9'
79
+ version: '3.10'
54
80
  - - "<"
55
81
  - !ruby/object:Gem::Version
56
82
  version: '4.0'
@@ -60,7 +86,7 @@ dependencies:
60
86
  requirements:
61
87
  - - ">="
62
88
  - !ruby/object:Gem::Version
63
- version: '3.9'
89
+ version: '3.10'
64
90
  - - "<"
65
91
  - !ruby/object:Gem::Version
66
92
  version: '4.0'
@@ -68,45 +94,117 @@ dependencies:
68
94
  name: rubocop
69
95
  requirement: !ruby/object:Gem::Requirement
70
96
  requirements:
71
- - - "~>"
97
+ - - ">="
98
+ - !ruby/object:Gem::Version
99
+ version: '1.0'
100
+ - - "<"
72
101
  - !ruby/object:Gem::Version
73
- version: '0.89'
102
+ version: '2.0'
74
103
  type: :development
75
104
  prerelease: false
76
105
  version_requirements: !ruby/object:Gem::Requirement
77
106
  requirements:
78
- - - "~>"
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ - - "<"
111
+ - !ruby/object:Gem::Version
112
+ version: '2.0'
113
+ - !ruby/object:Gem::Dependency
114
+ name: rubocop-performance
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - ">="
118
+ - !ruby/object:Gem::Version
119
+ version: '1.0'
120
+ - - "<"
121
+ - !ruby/object:Gem::Version
122
+ version: '2.0'
123
+ type: :development
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - ">="
128
+ - !ruby/object:Gem::Version
129
+ version: '1.0'
130
+ - - "<"
79
131
  - !ruby/object:Gem::Version
80
- version: '0.89'
132
+ version: '2.0'
133
+ - !ruby/object:Gem::Dependency
134
+ name: rubocop-rake
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0.5'
140
+ - - "<"
141
+ - !ruby/object:Gem::Version
142
+ version: '1.0'
143
+ type: :development
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0.5'
150
+ - - "<"
151
+ - !ruby/object:Gem::Version
152
+ version: '1.0'
81
153
  - !ruby/object:Gem::Dependency
82
154
  name: rubocop-rspec
83
155
  requirement: !ruby/object:Gem::Requirement
84
156
  requirements:
85
- - - "~>"
157
+ - - ">="
86
158
  - !ruby/object:Gem::Version
87
- version: '1.42'
159
+ version: '1.0'
160
+ - - "<"
161
+ - !ruby/object:Gem::Version
162
+ version: '2.0'
88
163
  type: :development
89
164
  prerelease: false
90
165
  version_requirements: !ruby/object:Gem::Requirement
91
166
  requirements:
92
- - - "~>"
167
+ - - ">="
168
+ - !ruby/object:Gem::Version
169
+ version: '1.0'
170
+ - - "<"
171
+ - !ruby/object:Gem::Version
172
+ version: '2.0'
173
+ - !ruby/object:Gem::Dependency
174
+ name: rubycritic
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - ">="
178
+ - !ruby/object:Gem::Version
179
+ version: '4.6'
180
+ - - "<"
181
+ - !ruby/object:Gem::Version
182
+ version: '5.0'
183
+ type: :development
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - ">="
188
+ - !ruby/object:Gem::Version
189
+ version: '4.6'
190
+ - - "<"
93
191
  - !ruby/object:Gem::Version
94
- version: '1.42'
192
+ version: '5.0'
95
193
  - !ruby/object:Gem::Dependency
96
194
  name: simplecov
97
195
  requirement: !ruby/object:Gem::Requirement
98
196
  requirements:
99
197
  - - "~>"
100
198
  - !ruby/object:Gem::Version
101
- version: '0.17'
199
+ version: '0.21'
102
200
  type: :development
103
201
  prerelease: false
104
202
  version_requirements: !ruby/object:Gem::Requirement
105
203
  requirements:
106
204
  - - "~>"
107
205
  - !ruby/object:Gem::Version
108
- version: '0.17'
109
- description:
206
+ version: '0.21'
207
+ description:
110
208
  email:
111
209
  - alistairm@nulogy.com
112
210
  executables: []
@@ -118,12 +216,17 @@ files:
118
216
  - ".rspec"
119
217
  - ".rubocop.yml"
120
218
  - ".ruby-version"
219
+ - Appraisals
121
220
  - CHANGELOG.md
122
221
  - Gemfile
123
222
  - README.md
124
223
  - Rakefile
125
224
  - bin/console
126
225
  - bin/setup
226
+ - gemfiles/rails_6.gemfile
227
+ - gemfiles/rails_6.gemfile.lock
228
+ - gemfiles/rails_6_1.gemfile
229
+ - gemfiles/rails_6_1.gemfile.lock
127
230
  - images/Tdc.png
128
231
  - lib/tdc.rb
129
232
  - lib/tdc/data_definition.rb
@@ -162,7 +265,7 @@ metadata:
162
265
  changelog_uri: https://github.com/nulogy/tdc/blob/master/CHANGELOG.md
163
266
  source_code_uri: https://github.com/nulogy/tdc
164
267
  bug_tracker_uri: https://github.com/nulogy/tdc/issues
165
- post_install_message:
268
+ post_install_message:
166
269
  rdoc_options: []
167
270
  require_paths:
168
271
  - lib
@@ -177,8 +280,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
177
280
  - !ruby/object:Gem::Version
178
281
  version: '0'
179
282
  requirements: []
180
- rubygems_version: 3.1.4
181
- signing_key:
283
+ rubygems_version: 3.1.6
284
+ signing_key:
182
285
  specification_version: 4
183
286
  summary: A simple framework for creating a Test Data Catalog
184
287
  test_files: []