tdc 1.2 → 1.3
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 +4 -4
- data/.rubocop.yml +9 -4
- data/.ruby-version +1 -1
- data/CHANGELOG.md +8 -0
- data/Gemfile +12 -0
- data/gemfiles/rails_7_2.gemfile +12 -0
- data/gemfiles/rails_8_0.gemfile +12 -0
- data/lib/tdc/data_definition.rb +2 -0
- data/lib/tdc/data_definition_file_reader.rb +2 -0
- data/lib/tdc/definition_resolvers/definition_resolver.rb +2 -0
- data/lib/tdc/definition_resolvers/tag_resolver.rb +2 -0
- data/lib/tdc/definition_resolvers.rb +2 -0
- data/lib/tdc/extended_attributes/default_interpreter.rb +4 -2
- data/lib/tdc/extended_attributes/interpreter_base.rb +2 -0
- data/lib/tdc/extended_attributes/interpreter_registry.rb +2 -0
- data/lib/tdc/extended_attributes.rb +2 -0
- data/lib/tdc/fatal_error.rb +2 -0
- data/lib/tdc/generators/catalog_entries.rb +2 -0
- data/lib/tdc/generators/definition_resolvable.rb +2 -0
- data/lib/tdc/generators/definition_sourcable.rb +2 -0
- data/lib/tdc/generators/generation_context.rb +2 -0
- data/lib/tdc/generators/generator_base.rb +2 -0
- data/lib/tdc/generators/standard_generator.rb +2 -0
- data/lib/tdc/generators.rb +2 -0
- data/lib/tdc/in_memory_data_definition.rb +2 -0
- data/lib/tdc/missing_override_error.rb +2 -0
- data/lib/tdc/version.rb +3 -1
- data/lib/tdc/with_indifferent_access_decorator.rb +2 -0
- data/lib/tdc/yaml_readers/null_yaml_reader.rb +2 -0
- data/lib/tdc/yaml_readers/yaml_reader.rb +2 -0
- data/lib/tdc/yaml_readers/yaml_reader_base.rb +4 -2
- data/lib/tdc/yaml_readers/yaml_reader_factory.rb +2 -0
- data/lib/tdc/yaml_readers/yaml_reader_with_expansion.rb +2 -0
- data/lib/tdc/yaml_readers.rb +2 -0
- data/lib/tdc.rb +2 -0
- data/tdc.gemspec +4 -11
- metadata +12 -128
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ea0b752fe9e2b0de8af863a24943c1f9b3761361c954daeb30a8af0d19ff3618
|
|
4
|
+
data.tar.gz: '08057115b222377b4ec89752f2e45d6044d12ab3907efd0c2d6544ea888ab186'
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9dda429b7527bc63a9152e34197f15e6846d7ea99c54acbc6a6fa629efeacddea67e8416ea493f94c709d1a556b49cc1a7d3b34bedb5cfdac9d03c59d448de6d
|
|
7
|
+
data.tar.gz: 471e6576c1d97bed8ada0a23b4de078c9f8aec8adbae16893e0c4ddeaf5018add54edfa1784a3b53dd01ebc5ecc370ed2624dde9e64e3be691e7c8d5c1912675
|
data/.rubocop.yml
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
plugins:
|
|
2
2
|
- rubocop-performance
|
|
3
3
|
- rubocop-rake
|
|
4
4
|
- rubocop-rspec
|
|
5
5
|
|
|
6
6
|
AllCops:
|
|
7
7
|
NewCops: enable
|
|
8
|
-
|
|
8
|
+
SuggestExtensions: false
|
|
9
|
+
TargetRubyVersion: 3.3
|
|
9
10
|
|
|
10
11
|
Exclude:
|
|
11
12
|
- 'bin/**/*'
|
|
@@ -80,9 +81,13 @@ Style/DocumentDynamicEvalDefinition:
|
|
|
80
81
|
Style/EmptyMethod:
|
|
81
82
|
EnforcedStyle: expanded
|
|
82
83
|
|
|
83
|
-
# We can ignore this small performance improvement.
|
|
84
84
|
Style/FrozenStringLiteralComment:
|
|
85
|
-
Enabled:
|
|
85
|
+
Enabled: true
|
|
86
|
+
Exclude:
|
|
87
|
+
- 'Appraisals'
|
|
88
|
+
- 'Gemfile'
|
|
89
|
+
- 'Rakefile'
|
|
90
|
+
- 'gemfiles/*.gemfile'
|
|
86
91
|
|
|
87
92
|
# We like to use the hash rocket in rake files.
|
|
88
93
|
Style/HashSyntax:
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.7
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.3] - 2025-10-25
|
|
10
|
+
|
|
11
|
+
- Support Ruby 3.4
|
|
12
|
+
|
|
13
|
+
#### Breaking Changes
|
|
14
|
+
|
|
15
|
+
- Drop support for Ruby 3.2
|
|
16
|
+
|
|
9
17
|
## [1.2] - 2025-10-07
|
|
10
18
|
|
|
11
19
|
- Support Rails 8.0.x
|
data/Gemfile
CHANGED
|
@@ -2,3 +2,15 @@ source "https://rubygems.org"
|
|
|
2
2
|
|
|
3
3
|
# Specify your gem's dependencies in tdc.gemspec
|
|
4
4
|
gemspec
|
|
5
|
+
|
|
6
|
+
group :development, :test do
|
|
7
|
+
gem "appraisal", "~> 2.5"
|
|
8
|
+
gem "rake", "~> 13.2"
|
|
9
|
+
gem "rspec", "~> 3.13"
|
|
10
|
+
gem "rubocop", "~> 1.69"
|
|
11
|
+
gem "rubocop-performance", "~> 1.23"
|
|
12
|
+
gem "rubocop-rake", "~> 0.6"
|
|
13
|
+
gem "rubocop-rspec", "~> 3.3"
|
|
14
|
+
gem "rubycritic", "~> 4.9"
|
|
15
|
+
gem "simplecov", "~> 0.22"
|
|
16
|
+
end
|
data/gemfiles/rails_7_2.gemfile
CHANGED
|
@@ -4,4 +4,16 @@ source "https://rubygems.org"
|
|
|
4
4
|
|
|
5
5
|
gem "rails", "7.2.2.1"
|
|
6
6
|
|
|
7
|
+
group :development, :test do
|
|
8
|
+
gem "appraisal", "~> 2.5"
|
|
9
|
+
gem "rake", "~> 13.2"
|
|
10
|
+
gem "rspec", "~> 3.13"
|
|
11
|
+
gem "rubocop", "~> 1.69"
|
|
12
|
+
gem "rubocop-performance", "~> 1.23"
|
|
13
|
+
gem "rubocop-rake", "~> 0.6"
|
|
14
|
+
gem "rubocop-rspec", "~> 3.3"
|
|
15
|
+
gem "rubycritic", "~> 4.9"
|
|
16
|
+
gem "simplecov", "~> 0.22"
|
|
17
|
+
end
|
|
18
|
+
|
|
7
19
|
gemspec path: "../"
|
data/gemfiles/rails_8_0.gemfile
CHANGED
|
@@ -4,4 +4,16 @@ source "https://rubygems.org"
|
|
|
4
4
|
|
|
5
5
|
gem "rails", "8.0.3"
|
|
6
6
|
|
|
7
|
+
group :development, :test do
|
|
8
|
+
gem "appraisal", "~> 2.5"
|
|
9
|
+
gem "rake", "~> 13.2"
|
|
10
|
+
gem "rspec", "~> 3.13"
|
|
11
|
+
gem "rubocop", "~> 1.69"
|
|
12
|
+
gem "rubocop-performance", "~> 1.23"
|
|
13
|
+
gem "rubocop-rake", "~> 0.6"
|
|
14
|
+
gem "rubocop-rspec", "~> 3.3"
|
|
15
|
+
gem "rubycritic", "~> 4.9"
|
|
16
|
+
gem "simplecov", "~> 0.22"
|
|
17
|
+
end
|
|
18
|
+
|
|
7
19
|
gemspec path: "../"
|
data/lib/tdc/data_definition.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module ExtendedAttributes
|
|
3
5
|
#
|
|
@@ -6,6 +8,8 @@ module Tdc
|
|
|
6
8
|
# Note: extended attribute keys are expected to be strings rather than symbols.
|
|
7
9
|
#
|
|
8
10
|
class DefaultInterpreter < Tdc::ExtendedAttributes::InterpreterBase
|
|
11
|
+
EXTENDED_ATTRIBUTE_SUFFIX = "_xa"
|
|
12
|
+
|
|
9
13
|
def interpret(instance_definition)
|
|
10
14
|
extended_attribute_definitions = keep_extended_attributes(instance_definition)
|
|
11
15
|
|
|
@@ -27,8 +31,6 @@ module Tdc
|
|
|
27
31
|
|
|
28
32
|
private
|
|
29
33
|
|
|
30
|
-
EXTENDED_ATTRIBUTE_SUFFIX = "_xa"
|
|
31
|
-
|
|
32
34
|
def convert_to_standard_attribute(extended_attribute_key)
|
|
33
35
|
extended_attribute_key.delete_suffix(EXTENDED_ATTRIBUTE_SUFFIX)
|
|
34
36
|
end
|
data/lib/tdc/fatal_error.rb
CHANGED
data/lib/tdc/generators.rb
CHANGED
data/lib/tdc/version.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module YamlReaders
|
|
3
5
|
#
|
|
@@ -40,9 +42,9 @@ module Tdc
|
|
|
40
42
|
|
|
41
43
|
def definitions_file
|
|
42
44
|
@_definitions_file ||= begin
|
|
43
|
-
fully_qualified_path_elements = [@catalog_root_directory]
|
|
45
|
+
fully_qualified_path_elements = [@catalog_root_directory] + @path_elements.map(&:to_s)
|
|
44
46
|
|
|
45
|
-
fully_qualified_path_elements.last
|
|
47
|
+
fully_qualified_path_elements[-1] = "#{fully_qualified_path_elements.last}#{file_extension}"
|
|
46
48
|
|
|
47
49
|
File.join(*fully_qualified_path_elements)
|
|
48
50
|
end
|
data/lib/tdc/yaml_readers.rb
CHANGED
data/lib/tdc.rb
CHANGED
data/tdc.gemspec
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require_relative "lib/tdc/version"
|
|
2
4
|
|
|
3
5
|
Gem::Specification.new do |spec|
|
|
@@ -10,7 +12,7 @@ Gem::Specification.new do |spec|
|
|
|
10
12
|
spec.homepage = "https://github.com/nulogy/tdc"
|
|
11
13
|
spec.license = "MIT"
|
|
12
14
|
|
|
13
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 3.
|
|
15
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.3")
|
|
14
16
|
|
|
15
17
|
spec.metadata = {
|
|
16
18
|
"homepage_uri" => "https://github.com/nulogy/tdc",
|
|
@@ -29,15 +31,6 @@ Gem::Specification.new do |spec|
|
|
|
29
31
|
spec.require_paths = ["lib"]
|
|
30
32
|
|
|
31
33
|
spec.add_dependency "activesupport", ">= 7.2", "< 8.1"
|
|
34
|
+
spec.add_dependency "ostruct", ">= 0.6"
|
|
32
35
|
spec.add_dependency "zeitwerk", ">= 2.7"
|
|
33
|
-
|
|
34
|
-
spec.add_development_dependency "appraisal", "~> 2.5"
|
|
35
|
-
spec.add_development_dependency "rake", "~> 13.2"
|
|
36
|
-
spec.add_development_dependency "rspec", "~> 3.13"
|
|
37
|
-
spec.add_development_dependency "rubocop", "~> 1.69"
|
|
38
|
-
spec.add_development_dependency "rubocop-performance", "~> 1.23"
|
|
39
|
-
spec.add_development_dependency "rubocop-rake", "~> 0.6"
|
|
40
|
-
spec.add_development_dependency "rubocop-rspec", "~> 3.3"
|
|
41
|
-
spec.add_development_dependency "rubycritic", "~> 4.9"
|
|
42
|
-
spec.add_development_dependency "simplecov", "~> 0.22"
|
|
43
36
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tdc
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: '1.
|
|
4
|
+
version: '1.3'
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alistair McKinnell
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: activesupport
|
|
@@ -31,146 +30,33 @@ dependencies:
|
|
|
31
30
|
- !ruby/object:Gem::Version
|
|
32
31
|
version: '8.1'
|
|
33
32
|
- !ruby/object:Gem::Dependency
|
|
34
|
-
name:
|
|
33
|
+
name: ostruct
|
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
|
36
35
|
requirements:
|
|
37
36
|
- - ">="
|
|
38
37
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
38
|
+
version: '0.6'
|
|
40
39
|
type: :runtime
|
|
41
40
|
prerelease: false
|
|
42
41
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
42
|
requirements:
|
|
44
43
|
- - ">="
|
|
45
|
-
- !ruby/object:Gem::Version
|
|
46
|
-
version: '2.7'
|
|
47
|
-
- !ruby/object:Gem::Dependency
|
|
48
|
-
name: appraisal
|
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
|
50
|
-
requirements:
|
|
51
|
-
- - "~>"
|
|
52
|
-
- !ruby/object:Gem::Version
|
|
53
|
-
version: '2.5'
|
|
54
|
-
type: :development
|
|
55
|
-
prerelease: false
|
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
requirements:
|
|
58
|
-
- - "~>"
|
|
59
|
-
- !ruby/object:Gem::Version
|
|
60
|
-
version: '2.5'
|
|
61
|
-
- !ruby/object:Gem::Dependency
|
|
62
|
-
name: rake
|
|
63
|
-
requirement: !ruby/object:Gem::Requirement
|
|
64
|
-
requirements:
|
|
65
|
-
- - "~>"
|
|
66
|
-
- !ruby/object:Gem::Version
|
|
67
|
-
version: '13.2'
|
|
68
|
-
type: :development
|
|
69
|
-
prerelease: false
|
|
70
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
-
requirements:
|
|
72
|
-
- - "~>"
|
|
73
|
-
- !ruby/object:Gem::Version
|
|
74
|
-
version: '13.2'
|
|
75
|
-
- !ruby/object:Gem::Dependency
|
|
76
|
-
name: rspec
|
|
77
|
-
requirement: !ruby/object:Gem::Requirement
|
|
78
|
-
requirements:
|
|
79
|
-
- - "~>"
|
|
80
|
-
- !ruby/object:Gem::Version
|
|
81
|
-
version: '3.13'
|
|
82
|
-
type: :development
|
|
83
|
-
prerelease: false
|
|
84
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
-
requirements:
|
|
86
|
-
- - "~>"
|
|
87
|
-
- !ruby/object:Gem::Version
|
|
88
|
-
version: '3.13'
|
|
89
|
-
- !ruby/object:Gem::Dependency
|
|
90
|
-
name: rubocop
|
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
|
92
|
-
requirements:
|
|
93
|
-
- - "~>"
|
|
94
|
-
- !ruby/object:Gem::Version
|
|
95
|
-
version: '1.69'
|
|
96
|
-
type: :development
|
|
97
|
-
prerelease: false
|
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
-
requirements:
|
|
100
|
-
- - "~>"
|
|
101
|
-
- !ruby/object:Gem::Version
|
|
102
|
-
version: '1.69'
|
|
103
|
-
- !ruby/object:Gem::Dependency
|
|
104
|
-
name: rubocop-performance
|
|
105
|
-
requirement: !ruby/object:Gem::Requirement
|
|
106
|
-
requirements:
|
|
107
|
-
- - "~>"
|
|
108
|
-
- !ruby/object:Gem::Version
|
|
109
|
-
version: '1.23'
|
|
110
|
-
type: :development
|
|
111
|
-
prerelease: false
|
|
112
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
-
requirements:
|
|
114
|
-
- - "~>"
|
|
115
|
-
- !ruby/object:Gem::Version
|
|
116
|
-
version: '1.23'
|
|
117
|
-
- !ruby/object:Gem::Dependency
|
|
118
|
-
name: rubocop-rake
|
|
119
|
-
requirement: !ruby/object:Gem::Requirement
|
|
120
|
-
requirements:
|
|
121
|
-
- - "~>"
|
|
122
|
-
- !ruby/object:Gem::Version
|
|
123
|
-
version: '0.6'
|
|
124
|
-
type: :development
|
|
125
|
-
prerelease: false
|
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
44
|
- !ruby/object:Gem::Version
|
|
130
45
|
version: '0.6'
|
|
131
46
|
- !ruby/object:Gem::Dependency
|
|
132
|
-
name:
|
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
135
|
-
- - "~>"
|
|
136
|
-
- !ruby/object:Gem::Version
|
|
137
|
-
version: '3.3'
|
|
138
|
-
type: :development
|
|
139
|
-
prerelease: false
|
|
140
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
141
|
-
requirements:
|
|
142
|
-
- - "~>"
|
|
143
|
-
- !ruby/object:Gem::Version
|
|
144
|
-
version: '3.3'
|
|
145
|
-
- !ruby/object:Gem::Dependency
|
|
146
|
-
name: rubycritic
|
|
147
|
-
requirement: !ruby/object:Gem::Requirement
|
|
148
|
-
requirements:
|
|
149
|
-
- - "~>"
|
|
150
|
-
- !ruby/object:Gem::Version
|
|
151
|
-
version: '4.9'
|
|
152
|
-
type: :development
|
|
153
|
-
prerelease: false
|
|
154
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
155
|
-
requirements:
|
|
156
|
-
- - "~>"
|
|
157
|
-
- !ruby/object:Gem::Version
|
|
158
|
-
version: '4.9'
|
|
159
|
-
- !ruby/object:Gem::Dependency
|
|
160
|
-
name: simplecov
|
|
47
|
+
name: zeitwerk
|
|
161
48
|
requirement: !ruby/object:Gem::Requirement
|
|
162
49
|
requirements:
|
|
163
|
-
- - "
|
|
50
|
+
- - ">="
|
|
164
51
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: '
|
|
166
|
-
type: :
|
|
52
|
+
version: '2.7'
|
|
53
|
+
type: :runtime
|
|
167
54
|
prerelease: false
|
|
168
55
|
version_requirements: !ruby/object:Gem::Requirement
|
|
169
56
|
requirements:
|
|
170
|
-
- - "
|
|
57
|
+
- - ">="
|
|
171
58
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '
|
|
173
|
-
description:
|
|
59
|
+
version: '2.7'
|
|
174
60
|
email:
|
|
175
61
|
- alistairm@nulogy.com
|
|
176
62
|
executables: []
|
|
@@ -230,7 +116,6 @@ metadata:
|
|
|
230
116
|
changelog_uri: https://github.com/nulogy/tdc/blob/master/CHANGELOG.md
|
|
231
117
|
bug_tracker_uri: https://github.com/nulogy/tdc/issues
|
|
232
118
|
rubygems_mfa_required: 'true'
|
|
233
|
-
post_install_message:
|
|
234
119
|
rdoc_options: []
|
|
235
120
|
require_paths:
|
|
236
121
|
- lib
|
|
@@ -238,15 +123,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
238
123
|
requirements:
|
|
239
124
|
- - ">="
|
|
240
125
|
- !ruby/object:Gem::Version
|
|
241
|
-
version: '3.
|
|
126
|
+
version: '3.3'
|
|
242
127
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
128
|
requirements:
|
|
244
129
|
- - ">="
|
|
245
130
|
- !ruby/object:Gem::Version
|
|
246
131
|
version: '0'
|
|
247
132
|
requirements: []
|
|
248
|
-
rubygems_version: 3.
|
|
249
|
-
signing_key:
|
|
133
|
+
rubygems_version: 3.6.9
|
|
250
134
|
specification_version: 4
|
|
251
135
|
summary: A simple framework for creating a Test Data Catalog
|
|
252
136
|
test_files: []
|