trailblazer-macro-contract 2.1.0.rc1 → 2.1.0.rc11

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: 6950c7cb14a9a1ef7ca1ee5ae5a9a516ddc193e2e2d92b74a0a1dd270a86a3ff
4
- data.tar.gz: 2ced13008f600a7a4627c560cc0688a7c77870455cc0b00860fd292805197bec
3
+ metadata.gz: 1b6413a7b945e393b8baa3a495aac23add0b441a4355eab849f9fbe04c88302f
4
+ data.tar.gz: 8ff7bbec10e5c54bdd441210490ac4821e1af9883712b7e402a823326c7a5709
5
5
  SHA512:
6
- metadata.gz: aa924fcd28353032eb0b613a5d32ed2ffb6d3c1e4ef0833fbdb4fbde6499ad799ce779b7e6b697c9d36e3ec257782969ecfabbe0ca0bf0b658e7352f10abcac2
7
- data.tar.gz: 8cdc084886db6cd010bbf035c84e444b4c2ee32ce5fdc4ad62efb1d71bbb11226c24dbe1ab1e164ff994e4a84741165c38698244a706ad3f654a90be4ddbd06b
6
+ metadata.gz: 485c18523ff12598036bc545a9d4198e7a6c8caf55151d2408c8ca8a1102c53b8e161542e414092ec1afed01a23272c0f225435698f1a60d46689413dbc1b34e
7
+ data.tar.gz: df126c3051524791589a7822a76f22d8807cd8f434b8e4401256714c8f3a7ee077f1aecfbbe74f2f0f8e09bb7029ae001298382ce47b6f5b2d13b5bd80d733ed
@@ -0,0 +1,136 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5.0
3
+ DisplayCopNames: true
4
+ Layout/CaseIndentation:
5
+ IndentOneStep: true
6
+ Layout/FirstArrayElementLineBreak:
7
+ Enabled: true
8
+ Layout/FirstHashElementLineBreak:
9
+ Enabled: true
10
+ Layout/FirstMethodArgumentLineBreak:
11
+ Enabled: true
12
+ Layout/FirstMethodParameterLineBreak:
13
+ Enabled: true
14
+ Layout/MultilineAssignmentLayout:
15
+ Enabled: true
16
+ EnforcedStyle: same_line
17
+ Layout/SpaceInsideHashLiteralBraces:
18
+ EnforcedStyle: no_space
19
+ Metrics/LineLength:
20
+ Max: 130
21
+ Metrics/ParameterLists:
22
+ Max: 5
23
+ Naming/VariableNumber:
24
+ EnforcedStyle: snake_case
25
+ Style/AndOr:
26
+ EnforcedStyle: conditionals
27
+ Style/AutoResourceCleanup:
28
+ Enabled: true
29
+ Style/CollectionMethods:
30
+ Enabled: true
31
+ Style/Documentation:
32
+ Enabled: false
33
+ Style/EmptyLiteral:
34
+ Enabled: false
35
+ Style/EmptyMethod:
36
+ EnforcedStyle: expanded
37
+ Style/FormatStringToken:
38
+ EnforcedStyle: template
39
+ Style/ImplicitRuntimeError:
40
+ Enabled: true
41
+ Style/MethodCalledOnDoEndBlock:
42
+ Enabled: true
43
+ Style/MethodDefParentheses:
44
+ EnforcedStyle: require_parentheses
45
+ Style/MissingElse:
46
+ Enabled: true
47
+ EnforcedStyle: case
48
+ Style/NumericLiterals:
49
+ Enabled: false
50
+ Style/OptionHash:
51
+ Enabled: true
52
+ Style/PercentLiteralDelimiters:
53
+ PreferredDelimiters:
54
+ "%w": "[]"
55
+ "%W": "[]"
56
+ "%i": "[]"
57
+ "%I": "[]"
58
+ "%r": "()"
59
+ Style/ReturnNil:
60
+ Enabled: true
61
+ Style/SafeNavigation:
62
+ Enabled: false
63
+ Style/Send:
64
+ Enabled: true
65
+ Style/SignalException:
66
+ EnforcedStyle: semantic
67
+ Style/StringLiterals:
68
+ EnforcedStyle: double_quotes
69
+ Style/StringLiteralsInInterpolation:
70
+ EnforcedStyle: double_quotes
71
+ Style/StringMethods:
72
+ Enabled: true
73
+ Style/SymbolArray:
74
+ Enabled: true
75
+ # this allows in rspec to have expect { } with multiple lines
76
+ Style/BlockDelimiters:
77
+ EnforcedStyle: braces_for_chaining
78
+ Layout/EndOfLine:
79
+ Enabled: false
80
+ # don't need these checks in test folders
81
+ Metrics/ModuleLength:
82
+ Exclude:
83
+ - "spec/**/*"
84
+ - "test/**/*"
85
+ Metrics/BlockLength:
86
+ Exclude:
87
+ - "spec/**/*"
88
+ - "test/**/*"
89
+ - "*.gemspec" # definitely not in the gemspec
90
+ Metrics/MethodLength:
91
+ Max: 20
92
+ Lint/UnreachableCode:
93
+ Description: 'Unreachable code.'
94
+ Enabled: false
95
+ Lint/Void:
96
+ Enabled: false
97
+ Layout/AlignHash:
98
+ EnforcedLastArgumentHashStyle: ignore_implicit
99
+ Metrics/AbcSize:
100
+ Max: 25
101
+ Style/LambdaCall:
102
+ Enabled: false
103
+ Style/Semicolon:
104
+ Enabled: false
105
+ Naming/UncommunicativeMethodParamName:
106
+ Enabled: false
107
+ Style/ClassAndModuleChildren:
108
+ Enabled: false
109
+ Layout/LeadingCommentSpace:
110
+ Exclude:
111
+ - 'test/docs/**/*'
112
+ Layout/AlignHash:
113
+ EnforcedHashRocketStyle: table
114
+ Style/FrozenStringLiteralComment:
115
+ Enabled: false
116
+ Layout/AlignHash:
117
+ EnforcedColonStyle: table
118
+ SingleLineMethods:
119
+ Enabled: false
120
+ Style/Lambda:
121
+ EnforcedStyle: literal
122
+ Style/AsciiComments:
123
+ Enabled: false
124
+ Style/CollectionMethods:
125
+ Enabled: false
126
+ Style/RedundantReturn:
127
+ Enabled: false
128
+ Style/PercentLiteralDelimiters:
129
+ PreferredDelimiters:
130
+ default: {}
131
+ "%q": '()'
132
+ "%r": '{}'
133
+ "%w": '[]'
134
+ "%": '{}'
135
+ Style/HashSyntax:
136
+ Enabled: false
data/.rubocop.yml CHANGED
@@ -1,9 +1,6 @@
1
- inherit_from: .rubocop_todo.yml
2
-
3
- Style/StringLiterals:
4
- EnforcedStyle: double_quotes
5
- Style/StringLiteralsInInterpolation:
6
- EnforcedStyle: double_quotes
1
+ inherit_from:
2
+ - https://raw.githubusercontent.com/trailblazer/meta/master/rubocop.yml
3
+ - .rubocop_todo.yml
7
4
 
8
5
  Naming/MethodName:
9
6
  Exclude:
data/.rubocop_todo.yml CHANGED
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2018-05-29 21:00:52 +0800 using RuboCop version 0.56.0.
3
+ # on 2018-06-19 17:19:28 +0800 using RuboCop version 0.57.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -21,14 +21,6 @@ Bundler/OrderedGems:
21
21
  Exclude:
22
22
  - 'Gemfile'
23
23
 
24
- # Offense count: 2
25
- # Cop supports --auto-correct.
26
- # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
27
- # Include: **/*.gemspec
28
- Gemspec/OrderedDependencies:
29
- Exclude:
30
- - 'trailblazer-macro-contract.gemspec'
31
-
32
24
  # Offense count: 1
33
25
  # Configuration parameters: Include.
34
26
  # Include: **/*.gemspec
@@ -71,20 +63,20 @@ Layout/LeadingCommentSpace:
71
63
  Exclude:
72
64
  - 'test/docs/contract_test.rb'
73
65
 
74
- # Offense count: 13
66
+ # Offense count: 1
75
67
  # Cop supports --auto-correct.
76
- Layout/SpaceAfterColon:
68
+ # Configuration parameters: EnforcedStyle.
69
+ # SupportedTypes: block, case, class, if, kwbegin, module
70
+ # SupportedStyles: same_line, new_line
71
+ Layout/MultilineAssignmentLayout:
77
72
  Exclude:
78
- - 'lib/trailblazer/operation/contract.rb'
79
73
  - 'lib/trailblazer/operation/validate.rb'
80
- - 'test/docs/contract_test.rb'
81
74
 
82
- # Offense count: 2
75
+ # Offense count: 3
83
76
  # Cop supports --auto-correct.
84
- # Configuration parameters: .
85
- # SupportedStyles: space, no_space
86
- Layout/SpaceAroundEqualsInParameterDefault:
87
- EnforcedStyle: no_space
77
+ Layout/SpaceAfterColon:
78
+ Exclude:
79
+ - 'test/docs/contract_test.rb'
88
80
 
89
81
  # Offense count: 7
90
82
  # Cop supports --auto-correct.
@@ -104,7 +96,7 @@ Layout/SpaceInsideBlockBraces:
104
96
  Exclude:
105
97
  - 'test/docs/contract_test.rb'
106
98
 
107
- # Offense count: 38
99
+ # Offense count: 92
108
100
  # Cop supports --auto-correct.
109
101
  # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
110
102
  # SupportedStyles: space, no_space, compact
@@ -112,20 +104,17 @@ Layout/SpaceInsideBlockBraces:
112
104
  Layout/SpaceInsideHashLiteralBraces:
113
105
  Exclude:
114
106
  - 'test/docs/contract_test.rb'
107
+ - 'test/docs/dry_test.rb'
115
108
  - 'test/operation/contract_test.rb'
116
- - 'test/test_helper.rb'
109
+ - 'test/operation/persist_test.rb'
117
110
 
118
- # Offense count: 110
111
+ # Offense count: 95
119
112
  # Cop supports --auto-correct.
120
113
  # Configuration parameters: EnforcedStyle.
121
114
  # SupportedStyles: space, no_space
122
115
  Layout/SpaceInsideParens:
123
116
  Exclude:
124
- - 'lib/trailblazer/operation/contract.rb'
125
- - 'lib/trailblazer/operation/persist.rb'
126
- - 'lib/trailblazer/operation/validate.rb'
127
117
  - 'test/docs/contract_test.rb'
128
- - 'test/docs/dry_test.rb'
129
118
  - 'test/operation/contract_test.rb'
130
119
  - 'test/operation/persist_test.rb'
131
120
 
@@ -142,11 +131,6 @@ Lint/ParenthesesAsGroupedExpression:
142
131
  Exclude:
143
132
  - 'test/docs/contract_test.rb'
144
133
 
145
- # Offense count: 1
146
- Lint/UnreachableCode:
147
- Exclude:
148
- - 'test/operation/persist_test.rb'
149
-
150
134
  # Offense count: 2
151
135
  # Cop supports --auto-correct.
152
136
  # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
@@ -154,6 +138,12 @@ Lint/UnusedBlockArgument:
154
138
  Exclude:
155
139
  - 'test/test_helper.rb'
156
140
 
141
+ # Offense count: 33
142
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
143
+ # URISchemes: http, https
144
+ Metrics/LineLength:
145
+ Max: 214
146
+
157
147
  # Offense count: 1
158
148
  # Cop supports --auto-correct.
159
149
  Style/BlockComments:
@@ -168,7 +158,7 @@ Style/BracesAroundHashParameters:
168
158
  Exclude:
169
159
  - 'test/operation/contract_test.rb'
170
160
 
171
- # Offense count: 8
161
+ # Offense count: 10
172
162
  # Cop supports --auto-correct.
173
163
  # Configuration parameters: AutoCorrect, EnforcedStyle.
174
164
  # SupportedStyles: nested, compact
@@ -181,15 +171,6 @@ Style/CommentedKeyword:
181
171
  Exclude:
182
172
  - 'lib/trailblazer/operation/validate.rb'
183
173
 
184
- # Offense count: 6
185
- Style/Documentation:
186
- Exclude:
187
- - 'spec/**/*'
188
- - 'test/**/*'
189
- - 'lib/trailblazer/operation/contract.rb'
190
- - 'lib/trailblazer/operation/persist.rb'
191
- - 'lib/trailblazer/operation/validate.rb'
192
-
193
174
  # Offense count: 1
194
175
  # Cop supports --auto-correct.
195
176
  Style/ExpandPathArguments:
@@ -206,20 +187,13 @@ Style/HashSyntax:
206
187
  - 'test/docs/contract_test.rb'
207
188
  - 'test/operation/contract_test.rb'
208
189
 
209
- # Offense count: 66
210
- # Cop supports --auto-correct.
211
- # Configuration parameters: .
212
- # SupportedStyles: call, braces
213
- Style/LambdaCall:
214
- EnforcedStyle: braces
215
-
216
190
  # Offense count: 2
217
191
  # Cop supports --auto-correct.
218
192
  Style/ParallelAssignment:
219
193
  Exclude:
220
194
  - 'lib/trailblazer/operation/validate.rb'
221
195
 
222
- # Offense count: 30
196
+ # Offense count: 34
223
197
  # Cop supports --auto-correct.
224
198
  # Configuration parameters: PreferredDelimiters.
225
199
  Style/PercentLiteralDelimiters:
@@ -228,14 +202,20 @@ Style/PercentLiteralDelimiters:
228
202
  - 'test/docs/dry_test.rb'
229
203
  - 'test/operation/contract_test.rb'
230
204
  - 'test/operation/persist_test.rb'
205
+ - 'trailblazer-macro-contract.gemspec'
231
206
 
232
- # Offense count: 2
207
+ # Offense count: 1
208
+ Style/Send:
209
+ Exclude:
210
+ - 'lib/trailblazer/operation/persist.rb'
211
+
212
+ # Offense count: 3
233
213
  # Cop supports --auto-correct.
234
214
  # Configuration parameters: EnforcedStyle.
235
215
  # SupportedStyles: only_raise, only_fail, semantic
236
216
  Style/SignalException:
237
217
  Exclude:
238
- - 'test/operation/persist_test.rb'
218
+ - 'lib/trailblazer/operation/contract.rb'
239
219
 
240
220
  # Offense count: 6
241
221
  # Cop supports --auto-correct.
@@ -245,7 +225,7 @@ Style/SingleLineMethods:
245
225
  - 'test/operation/persist_test.rb'
246
226
  - 'test/test_helper.rb'
247
227
 
248
- # Offense count: 14
228
+ # Offense count: 11
249
229
  # Cop supports --auto-correct.
250
230
  # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
251
231
  # SupportedStyles: single_quotes, double_quotes
@@ -253,12 +233,5 @@ Style/StringLiterals:
253
233
  Exclude:
254
234
  - 'Gemfile'
255
235
  - 'Rakefile'
256
- - 'test/operation/contract_test.rb'
257
236
  - 'test/test_helper.rb'
258
237
  - 'trailblazer-macro-contract.gemspec'
259
-
260
- # Offense count: 75
261
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
262
- # URISchemes: http, https
263
- Metrics/LineLength:
264
- Max: 214
data/.travis.yml CHANGED
@@ -5,4 +5,4 @@ rvm:
5
5
  - 2.5.1
6
6
  - 2.4.4
7
7
  - 2.3.7
8
- - 2.2.10
8
+ # - 2.2.10
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 2.1.0.rc11
2
+
3
+ * Use `>= activity-0.8`.
4
+
1
5
  # 2.1.0.rc1
2
6
 
3
7
  * Add a separate End to Validate. When the key extraction fails, the Validate activity will
data/Gemfile CHANGED
@@ -4,21 +4,11 @@ gemspec
4
4
 
5
5
  gem "dry-auto_inject"
6
6
  gem "dry-matcher"
7
- gem "dry-validation"
8
7
 
9
- # if ENV['USE_LOCAL_GEMS']
10
- gem "reform", path: "../reform"
11
- gem "reform-rails", path: "../reform-rails"
12
- gem "trailblazer-operation", path: "../trailblazer-operation"
13
- gem "trailblazer-macro", path: "../trailblazer-macro"
14
- gem "trailblazer-activity", path: "../trailblazer-activity"
15
- # gem "trailblazer-context", path: "../trailblazer-context"
16
- # else
17
- # gem "reform"
18
- # end
19
-
20
- # gem "trailblazer-operation", github: "trailblazer/trailblazer-operation"
21
- # gem "trailblazer-macro", github: "trailblazer/trailblazer-macro"
8
+ # gem "trailblazer-operation", path: "../trailblazer-operation"
9
+ # gem "trailblazer-macro", path: "../trailblazer-macro"
10
+ # gem "trailblazer-activity", path: "../trailblazer-activity"
11
+ # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
22
12
 
23
13
  gem "minitest-line"
24
14
 
@@ -1,7 +1,9 @@
1
1
  module Trailblazer
2
- module Macro
3
- module Contract
4
- VERSION = "2.1.0.rc1".freeze
2
+ module Version
3
+ module Macro
4
+ module Contract
5
+ VERSION = "2.1.0.rc11".freeze
6
+ end
5
7
  end
6
8
  end
7
9
  end
@@ -5,11 +5,11 @@ module Trailblazer
5
5
  task = lambda do |(options, flow_options), **circuit_options|
6
6
  result = Build.(options, circuit_options, name: name, constant: constant, builder: builder)
7
7
 
8
- return Activity::TaskBuilder.binary_signal_for( result, Activity::Right, Activity::Left ),
8
+ return Activity::TaskBuilder.binary_signal_for(result, Activity::Right, Activity::Left),
9
9
  [options, flow_options]
10
10
  end
11
11
 
12
- { task: task, id: "contract.build" }
12
+ {task: task, id: "contract.build"}
13
13
  end
14
14
 
15
15
  module Build
@@ -20,20 +20,19 @@ module Trailblazer
20
20
  model = options[:model]
21
21
  name = "contract.#{name}"
22
22
 
23
- options[name] =
24
- if builder
25
- call_builder( options, circuit_options, builder: builder, constant: contract_class, name: name )
26
- else
27
- contract_class.new(model)
28
- end
23
+ options[name] = if builder
24
+ call_builder(options, circuit_options, builder: builder, constant: contract_class, name: name)
25
+ else
26
+ contract_class.new(model)
27
+ end
29
28
  end
30
29
 
31
- def self.call_builder(options, circuit_options, builder:raise, constant:raise, name:raise)
30
+ def self.call_builder(options, circuit_options, builder: raise, constant: raise, name: raise)
32
31
  tmp_options = options.to_hash.merge(
33
32
  constant: constant,
34
33
  name: name
35
34
  )
36
- Trailblazer::Option(builder).( options, tmp_options, circuit_options )
35
+ Trailblazer::Option(builder).(options, tmp_options, circuit_options)
37
36
  end
38
37
  end
39
38
 
@@ -48,10 +47,13 @@ module Trailblazer
48
47
  # Op.contract do .. end # defines contract
49
48
  # Op.contract CommentForm # copies (and subclasses) external contract.
50
49
  # Op.contract CommentForm do .. end # copies and extends contract.
51
- def contract(name=:default, constant=nil, base: Reform::Form, &block)
50
+ def contract(name = :default, constant = nil, base: Reform::Form, &block)
52
51
  heritage.record(:contract, name, constant, &block)
53
52
 
54
- path, form_class = Trailblazer::DSL::Build.new.({ prefix: :contract, class: base, container: self }, name, constant, block)
53
+ path, form_class = Trailblazer::DSL::Build.new.(
54
+ {prefix: :contract, class: base, container: self},
55
+ name, constant, block
56
+ )
55
57
 
56
58
  self[path] = form_class
57
59
  end
@@ -5,9 +5,9 @@ module Trailblazer
5
5
  path = "contract.#{name}"
6
6
  step = ->(options, **) { options[path].send(method) }
7
7
 
8
- task = Activity::TaskBuilder::Binary( step )
8
+ task = Activity::TaskBuilder::Binary(step)
9
9
 
10
- { task: task, id: "persist.save" }
10
+ {task: task, id: "persist.save"}
11
11
  end
12
12
  end
13
13
  end
@@ -8,21 +8,20 @@ module Trailblazer
8
8
  def self.Validate(skip_extract: false, name: "default", representer: false, key: nil, constant: nil) # DISCUSS: should we introduce something like Validate::Deserializer?
9
9
  params_path = "contract.#{name}.params" # extract_params! save extracted params here.
10
10
 
11
- extract = Validate::Extract.new( key: key, params_path: params_path ).freeze
12
- validate = Validate.new( name: name, representer: representer, params_path: params_path, constant: constant ).freeze
11
+ extract = Validate::Extract.new(key: key, params_path: params_path).freeze
12
+ validate = Validate.new(name: name, representer: representer, params_path: params_path, constant: constant).freeze
13
13
 
14
14
  # Build a simple Railway {Activity} for the internal flow.
15
- activity = Module.new do
16
- extend Activity::Railway(name: "Contract::Validate")
17
-
18
- step extract, id: "#{params_path}_extract", Activity::DSL.Output(:failure) => Activity::DSL.End(:extract_failure) unless skip_extract || representer
15
+ activity = Class.new(Activity::Railway(name: "Contract::Validate")) do
16
+ step extract, id: "#{params_path}_extract", Output(:failure) => End(:extract_failure) unless skip_extract# || representer
19
17
  step validate, id: "contract.#{name}.call"
20
18
  end
21
19
 
22
- options = { task: activity, id: "contract.#{name}.validate", outputs: activity.outputs}
20
+ options = activity.Subprocess(activity)
21
+ options = options.merge(id: "contract.#{name}.validate")
23
22
 
24
23
  # Deviate End.extract_failure to the standard failure track as a default. This can be changed from the user side.
25
- options = options.merge(Activity::DSL.Output(:extract_failure) => Activity::DSL.Track(:failure)) unless skip_extract
24
+ options = options.merge(activity.Output(:extract_failure) => activity.Track(:failure)) unless skip_extract
26
25
 
27
26
  options
28
27
  end
@@ -30,21 +29,21 @@ module Trailblazer
30
29
  class Validate
31
30
  # Task: extract the contract's input from params by reading `:key`.
32
31
  class Extract
33
- def initialize(key:nil, params_path:nil)
32
+ def initialize(key: nil, params_path: nil)
34
33
  @key, @params_path = key, params_path
35
34
  end
36
35
 
37
- def call( ctx, params:, ** )
36
+ def call(ctx, params:, **)
38
37
  ctx[@params_path] = @key ? params[@key] : params
39
38
  end
40
39
  end
41
40
 
42
- def initialize(name:"default", representer:false, params_path:nil, constant: nil)
41
+ def initialize(name: "default", representer: false, params_path: nil, constant: nil)
43
42
  @name, @representer, @params_path, @constant = name, representer, params_path, constant
44
43
  end
45
44
 
46
45
  # Task: Validates contract `:name`.
47
- def call( ctx, ** )
46
+ def call(ctx, **)
48
47
  validate!(
49
48
  ctx,
50
49
  representer: ctx["representer.#{@name}.class"] ||= @representer, # FIXME: maybe @representer should use DI.
@@ -52,7 +51,7 @@ module Trailblazer
52
51
  )
53
52
  end
54
53
 
55
- def validate!(options, representer:false, from: :document, params_path:nil)
54
+ def validate!(options, representer: false, from: :document, params_path: nil)
56
55
  path = "contract.#{@name}"
57
56
  contract = @constant || options[path]
58
57
 
@@ -57,15 +57,15 @@ class DocsContractOverviewTest < Minitest::Spec
57
57
  it "shows 2-level tracing" do
58
58
  result = Create.trace( params: { length: "A" } )
59
59
  result.wtf.gsub(/0x\w+/, "").must_equal %{`-- DocsContractOverviewTest::Create
60
- |-- Start.default
61
- |-- model.build
62
- |-- contract.build
63
- |-- contract.default.validate
64
- | |-- Start.default
65
- | |-- contract.default.params_extract
66
- | |-- contract.default.call
67
- | `-- End.failure
68
- `-- End.failure}
60
+ |-- Start.default
61
+ |-- model.build
62
+ |-- contract.build
63
+ |-- contract.default.validate
64
+ | |-- Start.default
65
+ | |-- contract.default.params_extract
66
+ | |-- contract.default.call
67
+ | `-- End.failure
68
+ `-- End.failure}
69
69
  end
70
70
  end
71
71
  #---
@@ -392,10 +392,10 @@ class DryValidationContractTest < Minitest::Spec
392
392
  puts "@@@@@ #{Trailblazer::Operation::Inspect.(Create, style: :rows)}"
393
393
 
394
394
  it { Create.(params: {}).inspect("result.contract.default").must_include "Result:false"}
395
- it { Create.(params: {}).inspect("result.contract.default").must_include "@errors={:id=>[\"must be filled\""}
395
+ it { Create.(params: {}).inspect("result.contract.default").must_include "errors={:id=>[\"must be filled\""}
396
396
 
397
397
  it { Create.(params: { id: 1 }).inspect(:model, "result.contract.default").must_include "Result:false"}
398
- it { Create.(params: { id: 1 }).inspect(:model, "result.contract.default").must_include "@errors={:title=>[\"must be filled\", \"size cannot be less than 2\"]}"}
398
+ it { Create.(params: { id: 1 }).inspect(:model, "result.contract.default").must_include "errors={:title=>[\"must be filled\", \"size cannot be less than 2\"]}"}
399
399
  it { Create.(params: { id: 1 }).inspect(:model, "result.contract.default").wont_include ":id=>[\"must be filled\""}
400
400
 
401
401
  it { Create.(params: { id: 1, title: "" }).inspect(:model).must_equal %{<Result:false [#<struct DryValidationContractTest::Song id=nil, title=nil>] >} }
@@ -19,13 +19,15 @@ class DryContainerTest < Minitest::Spec
19
19
  #- dependency injection
20
20
  #- with Dry-container
21
21
  class Create < Trailblazer::Operation
22
- step Model( Song, :new )
22
+ extend Trailblazer::Operation::Container
23
+
24
+ step Model(Song, :new)
23
25
  step Contract::Build()
24
26
  step Contract::Validate()
25
- step Contract::Persist( method: :sync )
27
+ step Contract::Persist(method: :sync)
26
28
  end
27
29
  #:key end
28
30
 
29
- it { Create.({ params: { title: "A" } }, my_container).inspect(:model).must_equal %{<Result:false [#<struct DryContainerTest::Song id=nil, title=nil>] >} }
30
- it { Create.({ params: { title: "Anthony's Song" } }, my_container).inspect(:model).must_equal %{<Result:true [#<struct DryContainerTest::Song id=nil, title="Anthony's Song">] >} }
31
+ it { Create.({params: {title: "A" } }, my_container).inspect(:model).must_equal %{<Result:false [#<struct DryContainerTest::Song id=nil, title=nil>] >} }
32
+ it { Create.({params: {title: "Anthony's Song" } }, my_container).inspect(:model).must_equal %{<Result:true [#<struct DryContainerTest::Song id=nil, title="Anthony's Song">] >} }
31
33
  end
@@ -4,7 +4,7 @@ require 'trailblazer/macro/contract/version'
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "trailblazer-macro-contract"
7
- spec.version = Trailblazer::Macro::Contract::VERSION
7
+ spec.version = Trailblazer::Version::Macro::Contract::VERSION
8
8
  spec.authors = ["Nick Sutterer"]
9
9
  spec.email = ["apotonick@gmail.com"]
10
10
  spec.description = 'Trailblazer operation form object specific macros'
@@ -21,12 +21,12 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "reform", ">= 2.2.0", "< 3.0.0"
22
22
 
23
23
  spec.add_development_dependency "bundler"
24
- spec.add_development_dependency "trailblazer-macro", ">= 2.1.0.rc1", "< 2.2.0"
25
- spec.add_development_dependency "reform-rails"
26
- spec.add_development_dependency "dry-validation"
24
+ spec.add_development_dependency "dry-validation", "0.11.1" # FIXME: upgrade example code
25
+ spec.add_development_dependency "reform-rails", "~> 0.2.0.rc2"
26
+ spec.add_development_dependency "trailblazer-macro", ">= 2.1.0.rc11", "< 2.2.0"
27
27
 
28
28
  spec.add_development_dependency "minitest"
29
29
  spec.add_development_dependency "rake"
30
30
 
31
- spec.required_ruby_version = '>= 2.0.0'
31
+ spec.required_ruby_version = ">= 2.0.0"
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trailblazer-macro-contract
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0.rc1
4
+ version: 2.1.0.rc11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-18 00:00:00.000000000 Z
11
+ date: 2019-06-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: reform
@@ -45,53 +45,53 @@ dependencies:
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: trailblazer-macro
48
+ name: dry-validation
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - ">="
51
+ - - '='
52
52
  - !ruby/object:Gem::Version
53
- version: 2.1.0.rc1
54
- - - "<"
55
- - !ruby/object:Gem::Version
56
- version: 2.2.0
53
+ version: 0.11.1
57
54
  type: :development
58
55
  prerelease: false
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- version: 2.1.0.rc1
64
- - - "<"
58
+ - - '='
65
59
  - !ruby/object:Gem::Version
66
- version: 2.2.0
60
+ version: 0.11.1
67
61
  - !ruby/object:Gem::Dependency
68
62
  name: reform-rails
69
63
  requirement: !ruby/object:Gem::Requirement
70
64
  requirements:
71
- - - ">="
65
+ - - "~>"
72
66
  - !ruby/object:Gem::Version
73
- version: '0'
67
+ version: 0.2.0.rc2
74
68
  type: :development
75
69
  prerelease: false
76
70
  version_requirements: !ruby/object:Gem::Requirement
77
71
  requirements:
78
- - - ">="
72
+ - - "~>"
79
73
  - !ruby/object:Gem::Version
80
- version: '0'
74
+ version: 0.2.0.rc2
81
75
  - !ruby/object:Gem::Dependency
82
- name: dry-validation
76
+ name: trailblazer-macro
83
77
  requirement: !ruby/object:Gem::Requirement
84
78
  requirements:
85
79
  - - ">="
86
80
  - !ruby/object:Gem::Version
87
- version: '0'
81
+ version: 2.1.0.rc11
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: 2.2.0
88
85
  type: :development
89
86
  prerelease: false
90
87
  version_requirements: !ruby/object:Gem::Requirement
91
88
  requirements:
92
89
  - - ">="
93
90
  - !ruby/object:Gem::Version
94
- version: '0'
91
+ version: 2.1.0.rc11
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: 2.2.0
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: minitest
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -128,6 +128,7 @@ extensions: []
128
128
  extra_rdoc_files: []
129
129
  files:
130
130
  - ".gitignore"
131
+ - ".rubocop-https---raw-githubusercontent-com-trailblazer-meta-master-rubocop-yml"
131
132
  - ".rubocop.yml"
132
133
  - ".rubocop_todo.yml"
133
134
  - ".travis.yml"