trailblazer-macro-contract 2.1.4 → 2.1.5

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: 0f83a1f35a36e1e84cdc5075c91c7d564b860f2edcddec3665a2f391c9f253ed
4
- data.tar.gz: 171070dc6bb8454986fa101d81905ab661ef51aebe13a935ffa8fa149d62eda4
3
+ metadata.gz: bbc683dd764a82d3e373aa4656086632035f765b40670a6e30e7820b9623185d
4
+ data.tar.gz: e05b281e657a7fee96d70a1c4668298009a396e3c96250031a5b8d1526dac096
5
5
  SHA512:
6
- metadata.gz: bf7333622c75b4f77636de44021e5d33ff80555042a2e772bf87a1db5e470a6a95afd29a1d84d61905b4f7e5108f3328731ee819e2d08ab87b589bbeba2f5f70
7
- data.tar.gz: e3aad011ea7111117048736d2077c2b980959640e683a1259caf1f8a413d93737d08b6a00245ecaa64dd19dee1d17d9bbe97304f1688ef4df81f45040a0897d0
6
+ metadata.gz: a18a04d845668fdc8acec87848b6b9080bda62529cbcf1c38b48abe8d31b133c865c27a0914fc13f2117ef6cfb03ebce912c5c20a7f62b953ff1a0b368ca1a16
7
+ data.tar.gz: 670ea7f5487cfd36bed24519aef8175bff616402ec03f00523715051fc645bbdfdef76b60d258b9554f61cc8a44567e6ee3b0ec6e7e5cfca46e9ef22c482902e
@@ -8,7 +8,7 @@ jobs:
8
8
  strategy:
9
9
  fail-fast: false
10
10
  matrix:
11
- ruby: [2.7, '3.0', '3.1']
11
+ ruby: [2.5, 2.6, 2.7, '3.0', '3.1', '3.2', 'jruby']
12
12
  runs-on: ubuntu-latest
13
13
  steps:
14
14
  - uses: actions/checkout@v3
data/CHANGES.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 2.1.5
2
+
3
+ * Require `trailblazer-macro-2.1.14`.
4
+
1
5
  # 2.1.4
2
6
 
3
7
  * Use `trailblazer-activity-dsl-linear` 1.1.0.
data/Gemfile CHANGED
@@ -2,16 +2,12 @@ source 'https://rubygems.org'
2
2
  # Specify your gem's dependencies in trailblazer.gemspec
3
3
  gemspec
4
4
 
5
- gem "dry-auto_inject"
6
- gem "dry-matcher"
7
-
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"
5
+ # gem "trailblazer-operation", path: "../trailblazer-operation"
6
+ # gem "trailblazer-macro", path: "../trailblazer-macro"
7
+ # gem "trailblazer-activity", path: "../trailblazer-activity"
8
+ # gem "trailblazer-activity-dsl-linear", path: "../trailblazer-activity-dsl-linear"
9
+ # gem "trailblazer-developer", path: "../trailblazer-developer"
12
10
  # gem "trailblazer-errors", path: "../trailblazer-errors"
13
- # gem "trailblazer-developer", path: "../trailblazer-developer"
14
11
 
15
12
  gem "minitest-line"
16
-
17
- gem "rubocop", require: false
13
+ gem "standard"
@@ -4,12 +4,10 @@ module Trailblazer
4
4
  module Macro
5
5
  module Contract
6
6
  def self.Build(name: "default", constant: nil, builder: nil)
7
- contract_path = :"contract.#{name}"
7
+ contract_path = :"contract.#{name}"
8
8
 
9
9
  injections = {
10
- Activity::Railway.Inject() => {
11
- "#{contract_path}.class": ->(*) { constant }, # default to {constant} if not injected.
12
- }
10
+ Activity::Railway.Inject("#{contract_path}.class") => ->(*) { constant }, # default to {constant} if not injected.
13
11
  }
14
12
 
15
13
  # DISCUSS: can we force-default this via Inject()?
@@ -29,17 +27,17 @@ module Trailblazer
29
27
  default_contract_builder = ->(ctx, model: nil, **) { ctx[:"#{contract_path}.class"].new(model) }
30
28
 
31
29
  # proc is called via {Option()}.
32
- task_option_proc = builder ? builder : default_contract_builder
30
+ task_option_proc = builder || default_contract_builder
33
31
 
34
32
  # after the builder proc is run, assign its result to {:"contract.default"}.
35
33
  task = Macro.task_adapter_for_decider(task_option_proc, variable_name: contract_path)
36
34
 
37
35
  {
38
36
  task: task, id: "contract.build",
39
- }.
40
- merge(injections).
41
- merge(input).
42
- merge(output)
37
+ }
38
+ .merge(injections)
39
+ .merge(input)
40
+ .merge(output)
43
41
  end
44
42
 
45
43
  module DSL
@@ -3,11 +3,14 @@ module Trailblazer
3
3
  module Contract
4
4
  def self.Persist(method: :save, name: "default")
5
5
  path = :"contract.#{name}"
6
- step = ->(options, **) { options[path].send(method) }
6
+ step = ->(ctx, **) { ctx[path].send(method) }
7
7
 
8
8
  task = Activity::Circuit::TaskAdapter.for_step(step)
9
9
 
10
- {task: task, id: "persist.save"}
10
+ {
11
+ task: task,
12
+ id: "persist.save"
13
+ }
11
14
  end
12
15
  end
13
16
  end
@@ -15,23 +15,33 @@ module Trailblazer
15
15
 
16
16
  # These are defaulting dependency injection, more here
17
17
  # https://trailblazer.to/2.1/docs/activity.html#activity-dependency-injection-inject-defaulting
18
- extract_injections = {key_path => ->(*) { key }} # default to {key} if not injected.
19
- validate_injections = {contract_path => ->(*) { constant }} # default the contract instance to {constant}, if not injected (or passed down from {Build()})
20
18
 
21
19
  # Build a simple Railway {Activity} for the internal flow.
22
- activity = Class.new(Activity::Railway(name: "Contract::Validate")) do
23
- step extract, id: "#{params_path}_extract", Output(:failure) => End(:extract_failure), Activity::Railway.Inject() => extract_injections unless skip_extract# || representer
24
- step validate, id: "contract.#{name}.call", Activity::Railway.Inject() => validate_injections
20
+ activity = Activity::Railway(name: "Contract::Validate") do
21
+ unless skip_extract
22
+ step extract,
23
+ id: "#{params_path}_extract",
24
+ Output(:failure) => End(:extract_failure),
25
+ Inject(key_path) => ->(*) { key } # default to {key} if not injected.
26
+ end
27
+
28
+ step validate,
29
+ id: "contract.#{name}.call",
30
+ Inject(contract_path) => ->(*) { constant } # default the contract instance to {constant}, if not injected (or passed down from {Build()})
25
31
  end
26
32
 
27
33
  options = activity.Subprocess(activity)
28
- options = options.merge(id: "contract.#{name}.validate")
34
+ options.merge!(id: "contract.#{name}.validate")
29
35
 
30
36
  # Deviate End.extract_failure to the standard failure track as a default. This can be changed from the user side.
31
- options = options.merge(activity.Output(:extract_failure) => activity.Track(:failure)) unless skip_extract
37
+ unless skip_extract
38
+ options.merge!(activity.Output(:extract_failure) => activity.Track(:failure))
39
+ end
32
40
 
33
41
  # Halt failure track to End with {contract.name.invalid}.
34
- options = options.merge(activity.Output(:failure) => activity.End(:invalid_data)) if invalid_data_terminus
42
+ if invalid_data_terminus
43
+ options.merge!(activity.Output(:failure) => activity.End(:invalid_data))
44
+ end
35
45
 
36
46
  options
37
47
  end
@@ -49,7 +59,7 @@ module Trailblazer
49
59
  end
50
60
  end
51
61
 
52
- def initialize(name: "default", representer: false, params_path: nil, contract_path: )
62
+ def initialize(name: "default", contract_path:, representer: false, params_path: nil)
53
63
  @name, @representer, @params_path, @contract_path = name, representer, params_path, contract_path
54
64
  end
55
65
 
@@ -2,7 +2,7 @@ module Trailblazer
2
2
  module Version
3
3
  module Macro
4
4
  module Contract
5
- VERSION = "2.1.4"
5
+ VERSION = "2.1.5"
6
6
  end
7
7
  end
8
8
  end
@@ -308,10 +308,10 @@ class DocsContractKeyWithOutputTest < Minitest::Spec
308
308
 
309
309
  #:key-output
310
310
  class Song::Create < Trailblazer::Operation
311
- step Model( Song, :new )
312
- step Contract::Build( constant: Song::Contract::Create )
313
- step Contract::Validate( key: "song" ), Output(:extract_failure) => End(:key_not_found)
314
- step Contract::Persist( )
311
+ step Model(Song, :new)
312
+ step Contract::Build(constant: Song::Contract::Create)
313
+ step Contract::Validate(key: "song"), Output(:extract_failure) => End(:key_not_found)
314
+ step Contract::Persist()
315
315
  end
316
316
  #:key-output end
317
317
 
@@ -379,16 +379,17 @@ class DocsContractInvalidEndTest < Minitest::Spec
379
379
 
380
380
  #:invalid-end
381
381
  class Song::Create < Trailblazer::Operation
382
- step Model( Song, :new )
383
- step Contract::Build( constant: Song::Contract::Create )
384
- step Contract::Validate( key: :song, invalid_data_terminus: true )
385
- step Contract::Persist( )
382
+ step Model(Song, :new)
383
+ step Contract::Build(constant: Song::Contract::Create)
384
+ step Contract::Validate(key: :song, invalid_data_terminus: true)
385
+ step Contract::Persist()
386
386
  end
387
387
  #:invalid-end end
388
388
 
389
389
  it do
390
- result = Song::Create.(params: {song: { title: nil, length: nil }})
391
- result.event.inspect.must_equal %{#<Trailblazer::Activity::End semantic=:invalid_data>}
390
+ result = Song::Create.(params: {song: {title: nil, length: nil}})
391
+
392
+ assert_equal result.event.to_h[:semantic].inspect, %(:invalid_data)
392
393
  end
393
394
 
394
395
  it { Song::Create.(params: {song: { title: "SVG", length: 13 }}).inspect(:model).must_equal %{<Result:true [#<struct DocsContractInvalidEndTest::Song title=\"SVG\", length=13>] >} }
@@ -76,7 +76,7 @@ class ContractTest < Minitest::Spec
76
76
 
77
77
  #- overwriting Validate
78
78
  class NewHit < Upsert
79
- step Contract::Validate( key: :hit ), override: true
79
+ step Contract::Validate(key: :hit), override: true
80
80
  end
81
81
 
82
82
  it { Trailblazer::Developer.railway(NewHit).must_equal %{[>model.build,>contract.build,>contract.default.validate,>persist.save]} }
data/test/test_helper.rb CHANGED
@@ -4,8 +4,9 @@ require "trailblazer-macro-contract"
4
4
  require "pp"
5
5
  require 'delegate'
6
6
  require "trailblazer/operation"
7
- require "trailblazer/developer"
8
7
  require "trailblazer/macro"
8
+ require "trailblazer/developer"
9
+ # require "trailblazer/activity/testing"
9
10
  require "minitest/autorun"
10
11
 
11
12
  # TODO: convert tests to non-rails.
@@ -14,26 +15,13 @@ Reform::Form.class_eval do
14
15
  include Reform::Form::ActiveModel::Validations
15
16
  end
16
17
 
17
- module Mock
18
- class Result
19
- def initialize(bool); @bool = bool end
20
- def success?; @bool end
21
- def errors; ["hihi"] end
22
- end
23
- end
24
-
25
- module Test
26
- module ReturnCall
27
- def self.included(includer)
28
- includer._insert :_insert, ReturnResult, {replace: Trailblazer::Operation::Result::Build}, ReturnResult, ""
29
- end
30
- end
31
- ReturnResult = ->(last, input, options) { input }
32
- end
33
-
34
18
  Memo = Struct.new(:id, :body) do
35
19
  def self.find(id)
36
20
  return new(id, "Yo!") if id
37
21
  nil
38
22
  end
39
23
  end
24
+
25
+ # Minitest::Spec.class_eval do
26
+ # include Trailblazer::Activity::Testing::Assertions
27
+ # end
@@ -23,14 +23,14 @@ Gem::Specification.new do |spec|
23
23
  spec.add_development_dependency "bundler"
24
24
  spec.add_development_dependency "dry-validation"
25
25
  spec.add_development_dependency "reform-rails", "~> 0.2.0.rc2"
26
- spec.add_development_dependency "trailblazer-macro", ">= 2.1.12"
26
+ spec.add_development_dependency "trailblazer-macro"#, ">= 2.1.14"
27
27
  spec.add_development_dependency "trailblazer-developer"
28
28
  spec.add_development_dependency "activemodel", "~> 6.0.0" # FIXME: we still don't support the Rails 6.1 errors object.
29
29
 
30
30
  spec.add_development_dependency "minitest"
31
31
  spec.add_development_dependency "rake"
32
32
 
33
- spec.add_dependency "trailblazer-activity-dsl-linear", ">= 1.1.0", "< 1.2.0"
33
+ spec.add_dependency "trailblazer-activity-dsl-linear", ">= 1.2.0", "< 1.3.0"
34
34
 
35
- spec.required_ruby_version = ">= 2.0.0"
35
+ spec.required_ruby_version = ">= 2.5.0"
36
36
  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.4
4
+ version: 2.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sutterer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-14 00:00:00.000000000 Z
11
+ date: 2023-03-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: reform
@@ -78,14 +78,14 @@ dependencies:
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: 2.1.12
81
+ version: '0'
82
82
  type: :development
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - ">="
87
87
  - !ruby/object:Gem::Version
88
- version: 2.1.12
88
+ version: '0'
89
89
  - !ruby/object:Gem::Dependency
90
90
  name: trailblazer-developer
91
91
  requirement: !ruby/object:Gem::Requirement
@@ -148,20 +148,20 @@ dependencies:
148
148
  requirements:
149
149
  - - ">="
150
150
  - !ruby/object:Gem::Version
151
- version: 1.1.0
151
+ version: 1.2.0
152
152
  - - "<"
153
153
  - !ruby/object:Gem::Version
154
- version: 1.2.0
154
+ version: 1.3.0
155
155
  type: :runtime
156
156
  prerelease: false
157
157
  version_requirements: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - ">="
160
160
  - !ruby/object:Gem::Version
161
- version: 1.1.0
161
+ version: 1.2.0
162
162
  - - "<"
163
163
  - !ruby/object:Gem::Version
164
- version: 1.2.0
164
+ version: 1.3.0
165
165
  description: Operation macros for form objects
166
166
  email:
167
167
  - apotonick@gmail.com
@@ -170,13 +170,7 @@ extensions: []
170
170
  extra_rdoc_files: []
171
171
  files:
172
172
  - ".github/workflows/ci.yml"
173
- - ".github/workflows/ci_jruby.yml"
174
- - ".github/workflows/ci_legacy.yml"
175
- - ".github/workflows/ci_truffleruby.yml"
176
173
  - ".gitignore"
177
- - ".rubocop-https---raw-githubusercontent-com-trailblazer-meta-master-rubocop-yml"
178
- - ".rubocop.yml"
179
- - ".rubocop_todo.yml"
180
174
  - CHANGES.md
181
175
  - COMM-LICENSE
182
176
  - Gemfile
@@ -207,7 +201,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
207
201
  requirements:
208
202
  - - ">="
209
203
  - !ruby/object:Gem::Version
210
- version: 2.0.0
204
+ version: 2.5.0
211
205
  required_rubygems_version: !ruby/object:Gem::Requirement
212
206
  requirements:
213
207
  - - ">="
@@ -1,19 +0,0 @@
1
- ## This file is managed by Terraform.
2
- ## Do not modify this file directly, as it may be overwritten.
3
- ## Please open an issue instead.
4
- name: CI JRuby
5
- on: [push, pull_request]
6
- jobs:
7
- test:
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [jruby, jruby-head]
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v3
15
- - uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: ${{ matrix.ruby }}
18
- bundler-cache: true
19
- - run: bundle exec rake
@@ -1,19 +0,0 @@
1
- ## This file is managed by Terraform.
2
- ## Do not modify this file directly, as it may be overwritten.
3
- ## Please open an issue instead.
4
- name: CI with EOL ruby versions
5
- on: [push, pull_request]
6
- jobs:
7
- test:
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [2.5, 2.6]
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v3
15
- - uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: ${{ matrix.ruby }}
18
- bundler-cache: true
19
- - run: bundle exec rake
@@ -1,19 +0,0 @@
1
- ## This file is managed by Terraform.
2
- ## Do not modify this file directly, as it may be overwritten.
3
- ## Please open an issue instead.
4
- name: CI TruffleRuby
5
- on: [push, pull_request]
6
- jobs:
7
- test:
8
- strategy:
9
- fail-fast: false
10
- matrix:
11
- ruby: [truffleruby, truffleruby-head]
12
- runs-on: ubuntu-latest
13
- steps:
14
- - uses: actions/checkout@v3
15
- - uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: ${{ matrix.ruby }}
18
- bundler-cache: true
19
- - run: bundle exec rake
@@ -1,136 +0,0 @@
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 DELETED
@@ -1,9 +0,0 @@
1
- inherit_from:
2
- - https://raw.githubusercontent.com/trailblazer/meta/master/rubocop.yml
3
- - .rubocop_todo.yml
4
-
5
- Naming/MethodName:
6
- Exclude:
7
- - 'lib/trailblazer/operation/persist.rb'
8
- - 'lib/trailblazer/operation/contract.rb'
9
-
data/.rubocop_todo.yml DELETED
@@ -1,237 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config`
3
- # on 2018-06-19 17:19:28 +0800 using RuboCop version 0.57.2.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 1
10
- # Configuration parameters: Include.
11
- # Include: **/*.gemfile, **/Gemfile, **/gems.rb
12
- Bundler/DuplicatedGem:
13
- Exclude:
14
- - 'Gemfile'
15
-
16
- # Offense count: 2
17
- # Cop supports --auto-correct.
18
- # Configuration parameters: Include, TreatCommentsAsGroupSeparators.
19
- # Include: **/*.gemfile, **/Gemfile, **/gems.rb
20
- Bundler/OrderedGems:
21
- Exclude:
22
- - 'Gemfile'
23
-
24
- # Offense count: 1
25
- # Configuration parameters: Include.
26
- # Include: **/*.gemspec
27
- Gemspec/RequiredRubyVersion:
28
- Exclude:
29
- - 'trailblazer-macro-contract.gemspec'
30
-
31
- # Offense count: 2
32
- # Cop supports --auto-correct.
33
- # Configuration parameters: AllowAdjacentOneLineDefs, NumberOfEmptyLines.
34
- Layout/EmptyLineBetweenDefs:
35
- Exclude:
36
- - 'test/test_helper.rb'
37
-
38
- # Offense count: 1
39
- # Cop supports --auto-correct.
40
- # Configuration parameters: EnforcedStyle.
41
- # SupportedStyles: empty_lines, empty_lines_except_namespace, empty_lines_special, no_empty_lines, beginning_only, ending_only
42
- Layout/EmptyLinesAroundClassBody:
43
- Exclude:
44
- - 'test/docs/contract_test.rb'
45
-
46
- # Offense count: 1
47
- # Cop supports --auto-correct.
48
- # Configuration parameters: AllowForAlignment, ForceEqualSignAlignment.
49
- Layout/ExtraSpacing:
50
- Exclude:
51
- - 'test/docs/contract_test.rb'
52
-
53
- # Offense count: 1
54
- # Cop supports --auto-correct.
55
- # Configuration parameters: IndentationWidth.
56
- Layout/IndentAssignment:
57
- Exclude:
58
- - 'lib/trailblazer/operation/validate.rb'
59
-
60
- # Offense count: 5
61
- # Cop supports --auto-correct.
62
- Layout/LeadingCommentSpace:
63
- Exclude:
64
- - 'test/docs/contract_test.rb'
65
-
66
- # Offense count: 1
67
- # Cop supports --auto-correct.
68
- # Configuration parameters: EnforcedStyle.
69
- # SupportedTypes: block, case, class, if, kwbegin, module
70
- # SupportedStyles: same_line, new_line
71
- Layout/MultilineAssignmentLayout:
72
- Exclude:
73
- - 'lib/trailblazer/operation/validate.rb'
74
-
75
- # Offense count: 3
76
- # Cop supports --auto-correct.
77
- Layout/SpaceAfterColon:
78
- Exclude:
79
- - 'test/docs/contract_test.rb'
80
-
81
- # Offense count: 7
82
- # Cop supports --auto-correct.
83
- # Configuration parameters: AllowForAlignment.
84
- Layout/SpaceAroundOperators:
85
- Exclude:
86
- - 'test/docs/contract_test.rb'
87
- - 'test/operation/contract_test.rb'
88
- - 'test/operation/persist_test.rb'
89
-
90
- # Offense count: 5
91
- # Cop supports --auto-correct.
92
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
93
- # SupportedStyles: space, no_space
94
- # SupportedStylesForEmptyBraces: space, no_space
95
- Layout/SpaceInsideBlockBraces:
96
- Exclude:
97
- - 'test/docs/contract_test.rb'
98
-
99
- # Offense count: 92
100
- # Cop supports --auto-correct.
101
- # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
102
- # SupportedStyles: space, no_space, compact
103
- # SupportedStylesForEmptyBraces: space, no_space
104
- Layout/SpaceInsideHashLiteralBraces:
105
- Exclude:
106
- - 'test/docs/contract_test.rb'
107
- - 'test/docs/dry_test.rb'
108
- - 'test/operation/contract_test.rb'
109
- - 'test/operation/persist_test.rb'
110
-
111
- # Offense count: 95
112
- # Cop supports --auto-correct.
113
- # Configuration parameters: EnforcedStyle.
114
- # SupportedStyles: space, no_space
115
- Layout/SpaceInsideParens:
116
- Exclude:
117
- - 'test/docs/contract_test.rb'
118
- - 'test/operation/contract_test.rb'
119
- - 'test/operation/persist_test.rb'
120
-
121
- # Offense count: 1
122
- # Cop supports --auto-correct.
123
- # Configuration parameters: EnforcedStyle.
124
- # SupportedStyles: final_newline, final_blank_line
125
- Layout/TrailingBlankLines:
126
- Exclude:
127
- - 'test/operation/persist_test.rb'
128
-
129
- # Offense count: 1
130
- Lint/ParenthesesAsGroupedExpression:
131
- Exclude:
132
- - 'test/docs/contract_test.rb'
133
-
134
- # Offense count: 2
135
- # Cop supports --auto-correct.
136
- # Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
137
- Lint/UnusedBlockArgument:
138
- Exclude:
139
- - 'test/test_helper.rb'
140
-
141
- # Offense count: 33
142
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
143
- # URISchemes: http, https
144
- Metrics/LineLength:
145
- Max: 214
146
-
147
- # Offense count: 1
148
- # Cop supports --auto-correct.
149
- Style/BlockComments:
150
- Exclude:
151
- - 'test/docs/contract_test.rb'
152
-
153
- # Offense count: 3
154
- # Cop supports --auto-correct.
155
- # Configuration parameters: EnforcedStyle.
156
- # SupportedStyles: braces, no_braces, context_dependent
157
- Style/BracesAroundHashParameters:
158
- Exclude:
159
- - 'test/operation/contract_test.rb'
160
-
161
- # Offense count: 10
162
- # Cop supports --auto-correct.
163
- # Configuration parameters: AutoCorrect, EnforcedStyle.
164
- # SupportedStyles: nested, compact
165
- Style/ClassAndModuleChildren:
166
- Exclude:
167
- - 'test/docs/contract_test.rb'
168
-
169
- # Offense count: 2
170
- Style/CommentedKeyword:
171
- Exclude:
172
- - 'lib/trailblazer/operation/validate.rb'
173
-
174
- # Offense count: 1
175
- # Cop supports --auto-correct.
176
- Style/ExpandPathArguments:
177
- Exclude:
178
- - 'trailblazer-macro-contract.gemspec'
179
-
180
- # Offense count: 8
181
- # Cop supports --auto-correct.
182
- # Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
183
- # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
184
- Style/HashSyntax:
185
- Exclude:
186
- - 'Rakefile'
187
- - 'test/docs/contract_test.rb'
188
- - 'test/operation/contract_test.rb'
189
-
190
- # Offense count: 2
191
- # Cop supports --auto-correct.
192
- Style/ParallelAssignment:
193
- Exclude:
194
- - 'lib/trailblazer/operation/validate.rb'
195
-
196
- # Offense count: 34
197
- # Cop supports --auto-correct.
198
- # Configuration parameters: PreferredDelimiters.
199
- Style/PercentLiteralDelimiters:
200
- Exclude:
201
- - 'test/docs/contract_test.rb'
202
- - 'test/docs/dry_test.rb'
203
- - 'test/operation/contract_test.rb'
204
- - 'test/operation/persist_test.rb'
205
- - 'trailblazer-macro-contract.gemspec'
206
-
207
- # Offense count: 1
208
- Style/Send:
209
- Exclude:
210
- - 'lib/trailblazer/operation/persist.rb'
211
-
212
- # Offense count: 3
213
- # Cop supports --auto-correct.
214
- # Configuration parameters: EnforcedStyle.
215
- # SupportedStyles: only_raise, only_fail, semantic
216
- Style/SignalException:
217
- Exclude:
218
- - 'lib/trailblazer/operation/contract.rb'
219
-
220
- # Offense count: 6
221
- # Cop supports --auto-correct.
222
- # Configuration parameters: AllowIfMethodIsEmpty.
223
- Style/SingleLineMethods:
224
- Exclude:
225
- - 'test/operation/persist_test.rb'
226
- - 'test/test_helper.rb'
227
-
228
- # Offense count: 11
229
- # Cop supports --auto-correct.
230
- # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
231
- # SupportedStyles: single_quotes, double_quotes
232
- Style/StringLiterals:
233
- Exclude:
234
- - 'Gemfile'
235
- - 'Rakefile'
236
- - 'test/test_helper.rb'
237
- - 'trailblazer-macro-contract.gemspec'