tdc 0.3.0 → 0.3.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d7775cd9909b7d1aef1f59def823777cc24d6bbfc50ddfd41eda202f5f5f387
4
- data.tar.gz: 11b7ddadec9d97e1953f34efdee8b66d6f0cb08213dd8d9a9e9d4ae8372687fa
3
+ metadata.gz: 46a2a39e062ccd48c5634a1c0f2fb07e5705268ceb930bb0dc4b41127683406b
4
+ data.tar.gz: 9ea9e2f9ddf8bb1696151426ab584a734544ed51c9dac67d2e153293707b522b
5
5
  SHA512:
6
- metadata.gz: 1f396da321ee096251062cd35ff6add1d19292591dc8fa019509fe432f2fd7faea74844ee4583fbb30bc03e9f8106fbeabdb403732ec5098d70c40b69e2c216c
7
- data.tar.gz: 69cfdaa1a302ae2d458f6775db22134953db4f6f584ba9af36970f4865d308de9a44d9c5c6ec10e7db0a4ec5c05d340254a4458dfc843d6676225459e2542660
6
+ metadata.gz: 15cab57dccd6be42ab9f1de3782db7df1f29c33f20196aa40ba4b7cfaf36fe4a30a84ee7d8b0b4f38dbccf6afd24b6580b21fe1c9a6afa2d78eae8852eac889c
7
+ data.tar.gz: e7182a480f845f3e196354c2d170df24f9a762f57db3993c9ca8e266425d01637960f588ae938484a9731e99d7b5bc9f71b1921773b6d3450f02d681515d89fd
@@ -17,6 +17,16 @@ Layout/MultilineMethodCallBraceLayout:
17
17
  Layout/SpaceAroundMethodCallOperator:
18
18
  Enabled: true
19
19
 
20
+ Lint/DeprecatedOpenSSLConstant:
21
+ Enabled: true
22
+
23
+ Lint/DuplicateElsifCondition:
24
+ Enabled: true
25
+
26
+ Lint/MixedRegexpCaptureTypes:
27
+ Enabled: true
28
+
29
+
20
30
  Lint/RaiseException:
21
31
  Enabled: true
22
32
 
@@ -59,6 +69,15 @@ RSpec/MultipleExpectations:
59
69
  RSpec/SubjectStub:
60
70
  Enabled: false
61
71
 
72
+ Style/AccessorGrouping:
73
+ Enabled: true
74
+
75
+ Style/ArrayCoercion:
76
+ Enabled: true
77
+
78
+ Style/BisectedAttrAccessor:
79
+ Enabled: true
80
+
62
81
  Style/BlockDelimiters:
63
82
  Enabled: true
64
83
  EnforcedStyle: line_count_based
@@ -66,6 +85,9 @@ Style/BlockDelimiters:
66
85
  - 'let'
67
86
  - 'subject'
68
87
 
88
+ Style/CaseLikeIf:
89
+ Enabled: true
90
+
69
91
  Style/Documentation:
70
92
  Enabled: false
71
93
 
@@ -79,9 +101,15 @@ Style/ExponentialNotation:
79
101
  Style/FrozenStringLiteralComment:
80
102
  Enabled: false
81
103
 
104
+ Style/HashAsLastArrayItem:
105
+ Enabled: true
106
+
82
107
  Style/HashEachMethods:
83
108
  Enabled: true
84
109
 
110
+ Style/HashLikeCase:
111
+ Enabled: true
112
+
85
113
  Style/HashTransformKeys:
86
114
  Enabled: true
87
115
 
@@ -93,6 +121,21 @@ Style/HashSyntax:
93
121
  Exclude:
94
122
  - 'Rakefile'
95
123
 
124
+ Style/RedundantAssignment:
125
+ Enabled: true
126
+
127
+ Style/RedundantFetchBlock:
128
+ Enabled: true
129
+
130
+ Style/RedundantFileExtensionInRequire:
131
+ Enabled: true
132
+
133
+ Style/RedundantRegexpCharacterClass:
134
+ Enabled: true
135
+
136
+ Style/RedundantRegexpEscape:
137
+ Enabled: true
138
+
96
139
  # No need to mention StandardError.
97
140
  Style/RescueStandardError:
98
141
  EnforcedStyle: implicit
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.3.1] - 2020-07-25
10
+
11
+ - Support DefinitionResolver instance registration
12
+
9
13
  ## [0.3.0] - 2020-07-19
10
14
 
11
15
  - Introduce the DefinitionResolver abstraction
@@ -2,7 +2,7 @@ module Tdc
2
2
  module Generators
3
3
  #
4
4
  # Knows how to resolve attribute values in an instance definition. The attribute value will be replaced
5
- # by the result of invoking the specified resolver.
5
+ # by the result of invoking the registered resolver.
6
6
  #
7
7
  # The resolve_tag class macro is provided for generators to define tag resolution. The test data definition
8
8
  # YAML file has attribute values than contain a catalog entry tag.
@@ -14,18 +14,9 @@ module Tdc
14
14
  #
15
15
  # resolve_tag key: :subcomponent, source: "item_master.items"
16
16
  #
17
- # The resolve_definition class macro is provided for generators to define definition resolution. The test data
18
- # definition YAML file has attribute values than contain an arbitrary value that will typically be replaced by
19
- # an instance of an object returned by the specified resolver.
20
- #
21
- # Example:
22
- #
23
- # Suppose a particular instance definition contained { pallet_number: P0001 } then a generator could resolve
24
- # the pallet_number to a pallet instance by defining:
25
- #
26
- # resolve_definition :pallet_number, to: :pallet_id, resolver: "TestDataCatalog::Resolvers::PalletNumberResolver"
27
- #
28
- # The PalletNumberResolver class inherits from Tdc::DefinitionResolvers::DefinitionResolver.
17
+ # The register_definition_resolver class macro is provided for generators to define and register their own
18
+ # definition resolvers. The test data definition YAML file has attribute values than contain an arbitrary
19
+ # value that will typically be replaced by an instance of an object returned by the specified resolver.
29
20
  #
30
21
  module DefinitionResolvable
31
22
  extend ActiveSupport::Concern
@@ -37,14 +28,12 @@ module Tdc
37
28
  end
38
29
 
39
30
  class_methods do
40
- def resolve_definition(key:, to: nil, resolver:)
41
- resolver_instance = resolver.constantize.new(key: key, to: to || key)
42
-
31
+ def register_definition_resolver(resolver_instance)
43
32
  _definition_resolvers << resolver_instance
44
33
  end
45
34
 
46
35
  def resolve_tag(key:, source:)
47
- _definition_resolvers << Tdc::DefinitionResolvers::TagResolver.new(key: key, source: source)
36
+ register_definition_resolver(Tdc::DefinitionResolvers::TagResolver.new(key: key, source: source))
48
37
  end
49
38
  end
50
39
 
@@ -1,3 +1,3 @@
1
1
  module Tdc
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
@@ -31,7 +31,7 @@ Gem::Specification.new do |spec|
31
31
 
32
32
  spec.add_development_dependency "rake", ">= 12.1", "< 13.1"
33
33
  spec.add_development_dependency "rspec", ">= 3.9", "< 4.0"
34
- spec.add_development_dependency "rubocop", "~> 0.82"
35
- spec.add_development_dependency "rubocop-rspec", "~> 1.38"
34
+ spec.add_development_dependency "rubocop", "~> 0.88"
35
+ spec.add_development_dependency "rubocop-rspec", "~> 1.42"
36
36
  spec.add_development_dependency "simplecov", "~> 0.17"
37
37
  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.3.0
4
+ version: 0.3.1
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-07-20 00:00:00.000000000 Z
11
+ date: 2020-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -70,28 +70,28 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: '0.82'
73
+ version: '0.88'
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: '0.82'
80
+ version: '0.88'
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rubocop-rspec
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
85
  - - "~>"
86
86
  - !ruby/object:Gem::Version
87
- version: '1.38'
87
+ version: '1.42'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - "~>"
93
93
  - !ruby/object:Gem::Version
94
- version: '1.38'
94
+ version: '1.42'
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: simplecov
97
97
  requirement: !ruby/object:Gem::Requirement