tdc 0.3.0 → 0.3.1

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: 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