tdc 1.2 → 1.4
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 +18 -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 +13 -1
- 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 +3 -0
- data/lib/tdc/generators/definition_sourcable.rb +2 -0
- data/lib/tdc/generators/generation_context.rb +14 -0
- data/lib/tdc/generators/generator_base.rb +2 -0
- data/lib/tdc/generators/standard_generator.rb +32 -1
- 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: 96f4dcb68a0b66da5d24ceb550ea17484044c4489dbc898f72b76529287b9d8a
|
|
4
|
+
data.tar.gz: b56e406533429d735cce8c26c338b111c66965d8341cd744d672d9ff8bc642d1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cb7c52792c80baac6651a2fa434cebd9a1331cd00a41350f34409d7d083dbf21aaf40717006ed72012be7b2cd07055eca0b0bf5784d0431efb52bc7b4b5cdd70
|
|
7
|
+
data.tar.gz: 6e761091a8cb869f160d28e652563fa88c8b5de959fef37f4f2a60aaadbfc9e4beae1323aa851c714422de05f73888c6730ec86079a50ee1e44bc8e9d883b3a1
|
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,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.4] - 2026-04-04
|
|
10
|
+
|
|
11
|
+
#### New Features
|
|
12
|
+
|
|
13
|
+
- Update-or-create support in `StandardGenerator`: when an extension row's tag matches a previously created
|
|
14
|
+
record, the generator routes to `update_instance` instead of `generate_instance`
|
|
15
|
+
- `GenerationContext` tracks updating state via `with_updating` / `updating?`
|
|
16
|
+
- `DefinitionResolver` exposes `updating?` via generation context so subclass resolvers can skip missing keys
|
|
17
|
+
when updating
|
|
18
|
+
|
|
19
|
+
## [1.3] - 2025-10-25
|
|
20
|
+
|
|
21
|
+
- Support Ruby 3.4
|
|
22
|
+
|
|
23
|
+
#### Breaking Changes
|
|
24
|
+
|
|
25
|
+
- Drop support for Ruby 3.2
|
|
26
|
+
|
|
9
27
|
## [1.2] - 2025-10-07
|
|
10
28
|
|
|
11
29
|
- 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,10 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module DefinitionResolvers
|
|
3
5
|
#
|
|
4
6
|
# Base class for any definition resolver.
|
|
5
7
|
#
|
|
6
8
|
class DefinitionResolver
|
|
7
|
-
attr_reader :current_catalog
|
|
9
|
+
attr_reader :current_catalog, :generation_context
|
|
8
10
|
|
|
9
11
|
def configure_current_catalog(current_catalog)
|
|
10
12
|
@current_catalog = current_catalog
|
|
@@ -12,6 +14,16 @@ module Tdc
|
|
|
12
14
|
self
|
|
13
15
|
end
|
|
14
16
|
|
|
17
|
+
def configure_generation_context(generation_context)
|
|
18
|
+
@generation_context = generation_context
|
|
19
|
+
|
|
20
|
+
self
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def updating?
|
|
24
|
+
generation_context&.updating? == true
|
|
25
|
+
end
|
|
26
|
+
|
|
15
27
|
def resolve(_instance_definition)
|
|
16
28
|
raise Tdc::MissingOverrideError, "Implement the 'resolve' method"
|
|
17
29
|
end
|
|
@@ -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
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module Generators
|
|
3
5
|
#
|
|
@@ -40,6 +42,7 @@ module Tdc
|
|
|
40
42
|
def run_definition_resolvers(instance_definition)
|
|
41
43
|
_definition_resolvers.each do |definition_resolver|
|
|
42
44
|
definition_resolver.configure_current_catalog(current_catalog)
|
|
45
|
+
definition_resolver.configure_generation_context(generation_context)
|
|
43
46
|
|
|
44
47
|
definition_resolver.resolve(instance_definition)
|
|
45
48
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module Generators
|
|
3
5
|
#
|
|
@@ -9,6 +11,18 @@ module Tdc
|
|
|
9
11
|
def initialize(current_catalog:, data_definition:)
|
|
10
12
|
@current_catalog = current_catalog
|
|
11
13
|
@data_definition = data_definition
|
|
14
|
+
@updating = false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def updating?
|
|
18
|
+
@updating
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def with_updating
|
|
22
|
+
@updating = true
|
|
23
|
+
yield
|
|
24
|
+
ensure
|
|
25
|
+
@updating = false
|
|
12
26
|
end
|
|
13
27
|
end
|
|
14
28
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
module Tdc
|
|
2
4
|
module Generators
|
|
3
5
|
#
|
|
@@ -18,7 +20,13 @@ module Tdc
|
|
|
18
20
|
# Delete the tag so that the models do not need to filter it out.
|
|
19
21
|
tag = instance_definition.delete("tag")
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
existing_record = find_existing_record(tag, catalog_entries)
|
|
24
|
+
|
|
25
|
+
if existing_record
|
|
26
|
+
generated = run_resolvers_and_update_instance(existing_record)
|
|
27
|
+
else
|
|
28
|
+
generated = run_resolvers_and_generate_instance
|
|
29
|
+
end
|
|
22
30
|
|
|
23
31
|
# Add generated instance to the catalog entries whenever a tag provided.
|
|
24
32
|
catalog_entries.add_catalog_entry(tag, generated) if tag
|
|
@@ -33,6 +41,15 @@ module Tdc
|
|
|
33
41
|
generate_instance
|
|
34
42
|
end
|
|
35
43
|
|
|
44
|
+
def run_resolvers_and_update_instance(existing_record)
|
|
45
|
+
generation_context.with_updating do
|
|
46
|
+
run_extended_attribute_interpreters(instance_definition)
|
|
47
|
+
run_definition_resolvers(instance_definition)
|
|
48
|
+
|
|
49
|
+
update_instance(existing_record)
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
36
53
|
#
|
|
37
54
|
# Hook method: subclasses are expected to define how to generate a model instance.
|
|
38
55
|
#
|
|
@@ -40,6 +57,14 @@ module Tdc
|
|
|
40
57
|
raise Tdc::MissingOverrideError, "Implement the 'generate_instance' method"
|
|
41
58
|
end
|
|
42
59
|
|
|
60
|
+
#
|
|
61
|
+
# Hook method: subclasses may override to customize update behavior for existing records.
|
|
62
|
+
#
|
|
63
|
+
def update_instance(existing_record)
|
|
64
|
+
existing_record.update!(instance_definition)
|
|
65
|
+
existing_record
|
|
66
|
+
end
|
|
67
|
+
|
|
43
68
|
#
|
|
44
69
|
# Hook method: subclasses may include the DefinitionResolvable concern to override.
|
|
45
70
|
#
|
|
@@ -49,6 +74,12 @@ module Tdc
|
|
|
49
74
|
|
|
50
75
|
private
|
|
51
76
|
|
|
77
|
+
def find_existing_record(tag, catalog_entries)
|
|
78
|
+
return unless tag
|
|
79
|
+
|
|
80
|
+
catalog_entries.respond_to?(tag) ? catalog_entries.send(tag) : nil
|
|
81
|
+
end
|
|
82
|
+
|
|
52
83
|
def configure_instance_definition(instance_definition)
|
|
53
84
|
@instance_definition = instance_definition
|
|
54
85
|
|
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.4'
|
|
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:
|
|
249
|
-
signing_key:
|
|
133
|
+
rubygems_version: 4.0.8
|
|
250
134
|
specification_version: 4
|
|
251
135
|
summary: A simple framework for creating a Test Data Catalog
|
|
252
136
|
test_files: []
|