tdc 0.4.4.1 → 0.4.6
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 +4 -1
- data/CHANGELOG.md +6 -0
- data/Gemfile +0 -3
- data/Rakefile +10 -1
- data/lib/tdc/definition_resolvers/tag_resolver.rb +13 -5
- data/lib/tdc/generators/catalog_entries.rb +4 -0
- data/lib/tdc/generators/definition_sourcable.rb +1 -1
- data/lib/tdc/version.rb +1 -1
- data/tdc.gemspec +2 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a605f44cef27e72e80f13f582363886ca57b61238bec36ff2f3367c2c0cd4973
|
4
|
+
data.tar.gz: a61883e606e164fa260f02c3b2588a352600b54b6c0fc9e8b0ae9fc7df6d3970
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f2d9ac1591cf59bbc6c4bc2c128f5a891cef41c5399b480215f4644dae499f24a8f68bc4e3aef729e66d4f99aee978b4be523d82d58e5757b536bec19ae973e
|
7
|
+
data.tar.gz: 5b69a6c7393477eab60ffea42f8c0764ab1a289fb791c952e3f56f7ad6e9e368f9dfbc9229b82cddb431f6bd5fe637a9fa99dbc3428eb52f75940a0984004a47
|
data/.rubocop.yml
CHANGED
@@ -20,7 +20,10 @@ Lint/MissingSuper:
|
|
20
20
|
Enabled: false
|
21
21
|
|
22
22
|
Metrics/BlockLength:
|
23
|
-
|
23
|
+
Exclude:
|
24
|
+
- 'tdc.gemspec'
|
25
|
+
- '**/*_shared_example.rb'
|
26
|
+
- '**/*_spec.rb'
|
24
27
|
|
25
28
|
Naming/MemoizedInstanceVariableName:
|
26
29
|
EnforcedStyleForLeadingUnderscores: required
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [0.4.6] - 2020-09-26
|
10
|
+
|
11
|
+
- Better error message when a tag cannot be resolved
|
12
|
+
|
13
|
+
Note: version `0.4.5` was yanked from RubyGems.
|
14
|
+
|
9
15
|
## [0.4.4.1] - 2020-09-12
|
10
16
|
|
11
17
|
- Avoid registering the same class of interpreter a second time
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -1,8 +1,17 @@
|
|
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
17
|
task :default => [:rubocop, :spec]
|
@@ -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
|
@@ -46,7 +46,7 @@ module Tdc
|
|
46
46
|
end
|
47
47
|
end
|
48
48
|
|
49
|
-
def respond_to_missing?(method, include_all = false)
|
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
data/tdc.gemspec
CHANGED
@@ -33,6 +33,8 @@ Gem::Specification.new do |spec|
|
|
33
33
|
spec.add_development_dependency "rake", ">= 12.1", "< 13.1"
|
34
34
|
spec.add_development_dependency "rspec", ">= 3.9", "< 4.0"
|
35
35
|
spec.add_development_dependency "rubocop", "~> 0.89"
|
36
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.8"
|
36
37
|
spec.add_development_dependency "rubocop-rspec", "~> 1.42"
|
38
|
+
spec.add_development_dependency "rubycritic", "~> 4.5"
|
37
39
|
spec.add_development_dependency "simplecov", "~> 0.17"
|
38
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tdc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alistair McKinnell
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-09-
|
11
|
+
date: 2020-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -78,6 +78,20 @@ dependencies:
|
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '0.89'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: rubocop-performance
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: '1.8'
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '1.8'
|
81
95
|
- !ruby/object:Gem::Dependency
|
82
96
|
name: rubocop-rspec
|
83
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,6 +106,20 @@ dependencies:
|
|
92
106
|
- - "~>"
|
93
107
|
- !ruby/object:Gem::Version
|
94
108
|
version: '1.42'
|
109
|
+
- !ruby/object:Gem::Dependency
|
110
|
+
name: rubycritic
|
111
|
+
requirement: !ruby/object:Gem::Requirement
|
112
|
+
requirements:
|
113
|
+
- - "~>"
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
version: '4.5'
|
116
|
+
type: :development
|
117
|
+
prerelease: false
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '4.5'
|
95
123
|
- !ruby/object:Gem::Dependency
|
96
124
|
name: simplecov
|
97
125
|
requirement: !ruby/object:Gem::Requirement
|