solidus_dev_support 1.4.0 → 2.1.0

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +10 -17
  3. data/.github/PULL_REQUEST_TEMPLATE.md +0 -1
  4. data/.github_changelog_generator +4 -0
  5. data/.mergify.yml +33 -1
  6. data/.rubocop.yml +42 -0
  7. data/CHANGELOG.md +48 -5
  8. data/Gemfile +1 -1
  9. data/OLD_CHANGELOG.md +200 -0
  10. data/README.md +3 -1
  11. data/Rakefile +11 -1
  12. data/lib/solidus_dev_support/extension.rb +4 -1
  13. data/lib/solidus_dev_support/rake_tasks.rb +12 -0
  14. data/lib/solidus_dev_support/rspec/capybara.rb +18 -0
  15. data/lib/solidus_dev_support/rspec/feature_helper.rb +17 -18
  16. data/lib/solidus_dev_support/rspec/rails_helper.rb +8 -5
  17. data/lib/solidus_dev_support/rubocop/config.yml +82 -203
  18. data/lib/solidus_dev_support/solidus_command.rb +0 -1
  19. data/lib/solidus_dev_support/templates/extension/.circleci/config.yml +6 -0
  20. data/lib/solidus_dev_support/templates/extension/.github/stale.yml +4 -4
  21. data/lib/solidus_dev_support/templates/extension/README.md +28 -8
  22. data/lib/solidus_dev_support/templates/extension/bin/rails-sandbox +1 -1
  23. data/lib/solidus_dev_support/templates/extension/bin/sandbox.tt +2 -0
  24. data/lib/solidus_dev_support/templates/extension/extension.gemspec.tt +1 -1
  25. data/lib/solidus_dev_support/templates/extension/github_changelog_generator +2 -0
  26. data/lib/solidus_dev_support/templates/extension/lib/%file_name%.rb.tt +13 -0
  27. data/lib/solidus_dev_support/templates/extension/lib/%file_name%/configuration.rb.tt +8 -0
  28. data/lib/solidus_dev_support/templates/extension/lib/%file_name%/{factories.rb.tt → testing_support/factories.rb.tt} +0 -0
  29. data/lib/solidus_dev_support/templates/extension/lib/generators/%file_name%/install/install_generator.rb.tt +10 -5
  30. data/lib/solidus_dev_support/templates/extension/lib/generators/%file_name%/install/templates/initializer.rb.tt +6 -0
  31. data/lib/solidus_dev_support/templates/extension/rubocop.yml +3 -0
  32. data/lib/solidus_dev_support/templates/extension/spec/spec_helper.rb.tt +11 -7
  33. data/lib/solidus_dev_support/version.rb +5 -1
  34. data/solidus_dev_support.gemspec +16 -14
  35. data/spec/features/create_extension_spec.rb +171 -0
  36. data/spec/lib/extension_spec.rb +33 -0
  37. data/spec/spec_helper.rb +16 -0
  38. metadata +48 -37
  39. data/lib/solidus_dev_support/templates/extension/bin/r +0 -8
  40. data/lib/solidus_dev_support/templates/extension/bin/sandbox_rails +0 -8
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # solidus_dev_support
2
2
 
3
- [![CircleCI](https://circleci.com/gh/solidusio/solidus_dev_support.svg?style=svg)](https://circleci.com/gh/solidusio/solidus_dev_support)
3
+
4
+ [![CircleCI](https://circleci.com/gh/solidusio/solidus_dev_support.svg?style=shield)](https://circleci.com/gh/solidusio/solidus_dev_support)
5
+ [![codecov](https://codecov.io/gh/solidusio/solidus_dev_support/branch/master/graph/badge.svg)](https://codecov.io/gh/solidusio/solidus_dev_support)
4
6
 
5
7
  This gem contains common development functionality for Solidus extensions.
6
8
 
data/Rakefile CHANGED
@@ -1,8 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "bundler/gem_tasks"
4
- require "rspec/core/rake_task"
5
4
 
5
+ require 'github_changelog_generator/task'
6
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
7
+ config.user = 'solidusio'
8
+ config.project = 'solidus_dev_support'
9
+ config.exclude_labels = %w[infrastructure]
10
+ config.issues = false
11
+ config.base = "#{__dir__}/OLD_CHANGELOG.md"
12
+ config.since_tag = 'v1.4.0'
13
+ end
14
+
15
+ require "rspec/core/rake_task"
6
16
  RSpec::Core::RakeTask.new(:spec)
7
17
 
8
18
  task default: :spec
@@ -3,6 +3,8 @@
3
3
  require 'thor'
4
4
  require 'pathname'
5
5
 
6
+ require 'solidus_dev_support/version'
7
+
6
8
  module SolidusDevSupport
7
9
  class Extension < Thor
8
10
  include Thor::Actions
@@ -38,6 +40,7 @@ module SolidusDevSupport
38
40
  template 'rspec', "#{path}/.rspec"
39
41
  template 'spec/spec_helper.rb.tt', "#{path}/spec/spec_helper.rb"
40
42
  template 'rubocop.yml', "#{path}/.rubocop.yml"
43
+ template 'github_changelog_generator', "#{path}/.github_changelog_generator"
41
44
  end
42
45
 
43
46
  no_tasks do
@@ -89,7 +92,7 @@ module SolidusDevSupport
89
92
  'remote get-url origin',
90
93
  "git@github.com:#{github_user}/#{file_name}.git"
91
94
  ).sub(
92
- %r{^.*github\.com.([^/]+)/([^/\.]+).*$},
95
+ %r{^.*github\.com.([^/]+)/([^/.]+).*$},
93
96
  'https://github.com/\1/\2'
94
97
  )
95
98
  end
@@ -23,6 +23,7 @@ module SolidusDevSupport
23
23
  install_test_app_task
24
24
  install_dev_app_task
25
25
  install_rspec_task
26
+ install_changelog_task
26
27
  end
27
28
 
28
29
  def install_test_app_task
@@ -71,5 +72,16 @@ module SolidusDevSupport
71
72
  end
72
73
  end
73
74
  end
75
+
76
+ def install_changelog_task
77
+ require 'github_changelog_generator/task'
78
+
79
+ user, project = gemspec.homepage.split("/")[3..5]
80
+ GitHubChangelogGenerator::RakeTask.new(:changelog) do |config|
81
+ config.user = user || 'solidus-contrib'
82
+ config.project = project || gemspec.name
83
+ config.future_release = "v#{gemspec.version}"
84
+ end
85
+ end
74
86
  end
75
87
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Allow to override the initial windows size
4
+ CAPYBARA_WINDOW_SIZE = (ENV['CAPYBARA_WINDOW_SIZE'] || '1920x1080').split('x', 2).map(&:to_i)
5
+
6
+ Capybara.javascript_driver = (ENV['CAPYBARA_JAVASCRIPT_DRIVER'] || "solidus_chrome_headless").to_sym
7
+ Capybara.default_max_wait_time = 10
8
+ Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897
9
+
10
+ Capybara.drivers[:selenium_chrome_headless].tap do |original_driver|
11
+ Capybara.register_driver :solidus_chrome_headless do |app|
12
+ original_driver.call(app).tap do |driver|
13
+ driver.options[:options].args << "--window-size=#{CAPYBARA_WINDOW_SIZE.join(',')}"
14
+ end
15
+ end
16
+ end
17
+
18
+ require 'spree/testing_support/capybara_ext'
@@ -10,30 +10,29 @@
10
10
  require 'solidus_dev_support/rspec/rails_helper'
11
11
 
12
12
  require 'capybara-screenshot/rspec'
13
- require 'capybara/apparition'
13
+ require 'solidus_dev_support/rspec/capybara'
14
14
 
15
- Capybara.javascript_driver = (ENV['CAPYBARA_DRIVER'] || :apparition).to_sym
16
- Capybara.default_max_wait_time = 10
17
- Capybara.server = :puma, { Silent: true } # A fix for rspec/rspec-rails#1897
18
-
19
- Capybara.register_driver :apparition do |app|
20
- Capybara::Apparition::Driver.new(app, window_size: [1920, 1080])
15
+ def dev_support_assets_preload
16
+ if Rails.application.respond_to?(:precompiled_assets)
17
+ Rails.application.precompiled_assets
18
+ else
19
+ # For older sprockets 2.x
20
+ Rails.application.config.assets.precompile.each do |asset|
21
+ Rails.application.assets.find_asset(asset)
22
+ end
23
+ end
21
24
  end
22
25
 
23
- require 'spree/testing_support/capybara_ext'
24
-
25
26
  RSpec.configure do |config|
26
27
  config.when_first_matching_example_defined(type: :feature) do
27
28
  config.before :suite do
28
- # Preload assets
29
- if Rails.application.respond_to?(:precompiled_assets)
30
- Rails.application.precompiled_assets
31
- else
32
- # For older sprockets 2.x
33
- Rails.application.config.assets.precompile.each do |asset|
34
- Rails.application.assets.find_asset(asset)
35
- end
36
- end
29
+ dev_support_assets_preload
30
+ end
31
+ end
32
+
33
+ config.when_first_matching_example_defined(type: :system) do
34
+ config.before :suite do
35
+ dev_support_assets_preload
37
36
  end
38
37
  end
39
38
  end
@@ -67,14 +67,17 @@ RSpec.configure do |config|
67
67
  rescue NameError => e
68
68
  class ZeitwerkNameError < NameError; end
69
69
 
70
- message = <<~WARN
71
- Zeitwerk raised the following error when trying to eager load your extension:
72
-
73
- #{if e.message =~ /expected file .*? to define constant [\w:]+/
70
+ error_message =
71
+ if e.message =~ /expected file .*? to define constant [\w:]+/
74
72
  e.message.sub(/expected file #{Regexp.escape(File.expand_path('../..', Rails.root))}./, "expected file ")
75
73
  else
76
74
  e.message
77
- end}
75
+ end
76
+
77
+ message = <<~WARN
78
+ Zeitwerk raised the following error when trying to eager load your extension:
79
+
80
+ #{error_message}
78
81
 
79
82
  This most likely means that your extension's file structure is not
80
83
  compatible with the Zeitwerk autoloader.
@@ -1,203 +1,82 @@
1
- # Relaxed.Ruby.Style
2
- ## Version 2.4
3
-
4
- Style/Alias:
5
- Enabled: false
6
- StyleGuide: https://relaxed.ruby.style/#stylealias
7
-
8
- Style/AsciiComments:
9
- Enabled: false
10
- StyleGuide: https://relaxed.ruby.style/#styleasciicomments
11
-
12
- Style/BeginBlock:
13
- Enabled: false
14
- StyleGuide: https://relaxed.ruby.style/#stylebeginblock
15
-
16
- Style/BlockDelimiters:
17
- Enabled: false
18
- StyleGuide: https://relaxed.ruby.style/#styleblockdelimiters
19
-
20
- Style/CommentAnnotation:
21
- Enabled: false
22
- StyleGuide: https://relaxed.ruby.style/#stylecommentannotation
23
-
24
- Style/Documentation:
25
- Enabled: false
26
- StyleGuide: https://relaxed.ruby.style/#styledocumentation
27
-
28
- Layout/DotPosition:
29
- Enabled: false
30
- StyleGuide: https://relaxed.ruby.style/#layoutdotposition
31
-
32
- Style/DoubleNegation:
33
- Enabled: false
34
- StyleGuide: https://relaxed.ruby.style/#styledoublenegation
35
-
36
- Style/EndBlock:
37
- Enabled: false
38
- StyleGuide: https://relaxed.ruby.style/#styleendblock
39
-
40
- Style/FormatString:
41
- Enabled: false
42
- StyleGuide: https://relaxed.ruby.style/#styleformatstring
43
-
44
- Style/IfUnlessModifier:
45
- Enabled: false
46
- StyleGuide: https://relaxed.ruby.style/#styleifunlessmodifier
47
-
48
- Style/Lambda:
49
- Enabled: false
50
- StyleGuide: https://relaxed.ruby.style/#stylelambda
51
-
52
- Style/ModuleFunction:
53
- Enabled: false
54
- StyleGuide: https://relaxed.ruby.style/#stylemodulefunction
55
-
56
- Style/MultilineBlockChain:
57
- Enabled: false
58
- StyleGuide: https://relaxed.ruby.style/#stylemultilineblockchain
59
-
60
- Style/NegatedIf:
61
- Enabled: false
62
- StyleGuide: https://relaxed.ruby.style/#stylenegatedif
63
-
64
- Style/NegatedWhile:
65
- Enabled: false
66
- StyleGuide: https://relaxed.ruby.style/#stylenegatedwhile
67
-
68
- Style/NumericPredicate:
69
- Enabled: false
70
- StyleGuide: https://relaxed.ruby.style/#stylenumericpredicate
71
-
72
- Style/ParallelAssignment:
73
- Enabled: false
74
- StyleGuide: https://relaxed.ruby.style/#styleparallelassignment
75
-
76
- Style/PercentLiteralDelimiters:
77
- Enabled: false
78
- StyleGuide: https://relaxed.ruby.style/#stylepercentliteraldelimiters
79
-
80
- Style/PerlBackrefs:
81
- Enabled: false
82
- StyleGuide: https://relaxed.ruby.style/#styleperlbackrefs
83
-
84
- Style/Semicolon:
85
- Enabled: false
86
- StyleGuide: https://relaxed.ruby.style/#stylesemicolon
87
-
88
- Style/SignalException:
89
- Enabled: false
90
- StyleGuide: https://relaxed.ruby.style/#stylesignalexception
91
-
92
- Style/SingleLineBlockParams:
93
- Enabled: false
94
- StyleGuide: https://relaxed.ruby.style/#stylesinglelineblockparams
95
-
96
- Style/SingleLineMethods:
97
- Enabled: false
98
- StyleGuide: https://relaxed.ruby.style/#stylesinglelinemethods
99
-
100
- Layout/SpaceBeforeBlockBraces:
101
- Enabled: false
102
- StyleGuide: https://relaxed.ruby.style/#layoutspacebeforeblockbraces
103
-
104
- Layout/SpaceInsideParens:
105
- Enabled: false
106
- StyleGuide: https://relaxed.ruby.style/#layoutspaceinsideparens
107
-
108
- Style/SpecialGlobalVars:
109
- Enabled: false
110
- StyleGuide: https://relaxed.ruby.style/#stylespecialglobalvars
111
-
112
- Style/StringLiterals:
113
- Enabled: false
114
- StyleGuide: https://relaxed.ruby.style/#stylestringliterals
115
-
116
- Style/TrailingCommaInArguments:
117
- Enabled: false
118
- StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarguments
119
-
120
- Style/TrailingCommaInArrayLiteral:
121
- Enabled: false
122
- StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarrayliteral
123
-
124
- Style/TrailingCommaInHashLiteral:
125
- Enabled: false
126
- StyleGuide: https://relaxed.ruby.style/#styletrailingcommainhashliteral
127
-
128
- Style/SymbolArray:
129
- Enabled: false
130
- StyleGuide: http://relaxed.ruby.style/#stylesymbolarray
131
-
132
- Style/WhileUntilModifier:
133
- Enabled: false
134
- StyleGuide: https://relaxed.ruby.style/#stylewhileuntilmodifier
135
-
136
- Style/WordArray:
137
- Enabled: false
138
- StyleGuide: https://relaxed.ruby.style/#stylewordarray
139
-
140
- Lint/AmbiguousRegexpLiteral:
141
- Enabled: false
142
- StyleGuide: https://relaxed.ruby.style/#lintambiguousregexpliteral
143
-
144
- Lint/AssignmentInCondition:
145
- Enabled: false
146
- StyleGuide: https://relaxed.ruby.style/#lintassignmentincondition
147
-
148
- Metrics/AbcSize:
149
- Enabled: false
150
-
151
- Metrics/BlockNesting:
152
- Enabled: false
153
-
154
- Metrics/ClassLength:
155
- Enabled: false
156
-
157
- Metrics/ModuleLength:
158
- Enabled: false
159
-
160
- Metrics/CyclomaticComplexity:
161
- Enabled: false
162
-
163
- # Metrics/LineLength:
164
- # Enabled: false
165
-
166
- Metrics/MethodLength:
167
- Enabled: false
168
-
169
- Metrics/ParameterLists:
170
- Enabled: false
171
-
172
- Metrics/PerceivedComplexity:
173
- Enabled: false
174
-
175
- # Our overrides after this point:
176
-
177
- require:
178
- - rubocop-rspec
179
- - rubocop-rails
180
- - rubocop-performance
181
-
182
- AllCops:
183
- TargetRubyVersion: 2.5
184
- Exclude:
185
- - spec/dummy/**/*
186
- - sandbox/**/*
187
- - vendor/**/*
188
-
189
- Metrics/BlockLength:
190
- Enabled: false
191
-
192
- Metrics/LineLength:
193
- Enabled: true
194
- Max: 100
195
-
196
- RSpec/ExampleLength:
197
- Enabled: false
198
-
199
- Layout/AlignArguments:
200
- EnforcedStyle: with_fixed_indentation
201
-
202
- Layout/MultilineOperationIndentation:
203
- Enabled: false
1
+ require: ["rubocop-rspec", "rubocop-rails", "rubocop-performance"]
2
+
3
+ AllCops: {TargetRubyVersion: 2.5, Exclude: ["spec/dummy/**/*", "sandbox/**/*", "vendor/**/*"]}
4
+
5
+ Layout/ArgumentAlignment: {EnforcedStyle: with_fixed_indentation}
6
+ Layout/DotPosition: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutdotposition"}
7
+ Layout/EmptyLinesAroundAttributeAccessor: {Enabled: true}
8
+ Layout/FirstArgumentIndentation: {EnforcedStyle: "consistent"}
9
+ Layout/FirstArrayElementIndentation: {EnforcedStyle: "consistent"}
10
+ Layout/LineLength: {Enabled: true, Max: 120}
11
+ Layout/MultilineOperationIndentation: {Enabled: false}
12
+ Layout/SpaceAroundMethodCallOperator: {Enabled: true}
13
+ Layout/SpaceBeforeBlockBraces: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutspacebeforeblockbraces"}
14
+ Layout/SpaceInsideParens: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#layoutspaceinsideparens"}
15
+ Lint/AmbiguousRegexpLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#lintambiguousregexpliteral"}
16
+ Lint/AssignmentInCondition: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#lintassignmentincondition"}
17
+ Lint/DeprecatedOpenSSLConstant: {Enabled: true}
18
+ Lint/MixedRegexpCaptureTypes: {Enabled: true}
19
+ Lint/RaiseException: {Enabled: true}
20
+ Lint/StructNewOverride: {Enabled: true}
21
+ Metrics/AbcSize: {Enabled: false}
22
+ Metrics/BlockLength: {Enabled: false}
23
+ Metrics/BlockNesting: {Enabled: false}
24
+ Metrics/ClassLength: {Enabled: false}
25
+ Metrics/CyclomaticComplexity: {Enabled: false}
26
+ Metrics/MethodLength: {Enabled: false}
27
+ Metrics/ModuleLength: {Enabled: false}
28
+ Metrics/ParameterLists: {Enabled: false}
29
+ Metrics/PerceivedComplexity: {Enabled: false}
30
+ Performance/AncestorsInclude: {Enabled: true}
31
+ Performance/BigDecimalWithNumericArgument: {Enabled: true}
32
+ Performance/RedundantSortBlock: {Enabled: true}
33
+ Performance/RedundantStringChars: {Enabled: true}
34
+ Performance/ReverseFirst: {Enabled: true}
35
+ Performance/SortReverse: {Enabled: true}
36
+ Performance/Squeeze: {Enabled: true}
37
+ Performance/StringInclude: {Enabled: true}
38
+ RSpec/DescribeClass: {Exclude: ["spec/features/**/*"]} # Feature specs are not describing any class or module.
39
+ RSpec/ExampleLength: {Enabled: false}
40
+ Style/AccessorGrouping: {Enabled: true}
41
+ Style/Alias: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylealias"}
42
+ Style/AsciiComments: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleasciicomments"}
43
+ Style/BeginBlock: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylebeginblock"}
44
+ Style/BisectedAttrAccessor: {Enabled: true}
45
+ Style/BlockDelimiters: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleblockdelimiters"}
46
+ Style/CommentAnnotation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylecommentannotation"}
47
+ Style/Documentation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styledocumentation"}
48
+ Style/DoubleNegation: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styledoublenegation"}
49
+ Style/EndBlock: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleendblock"}
50
+ Style/ExponentialNotation: {Enabled: true}
51
+ Style/FormatString: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleformatstring"}
52
+ Style/FrozenStringLiteralComment: {Exclude: ["spec/**/*", "db/migrate/**/*", "bin/**/*"]}
53
+ Style/HashEachMethods: {Enabled: true}
54
+ Style/HashTransformKeys: {Enabled: true}
55
+ Style/HashTransformValues: {Enabled: true}
56
+ Style/IfUnlessModifier: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleifunlessmodifier"}
57
+ Style/Lambda: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylelambda"}
58
+ Style/ModuleFunction: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylemodulefunction"}
59
+ Style/MultilineBlockChain: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylemultilineblockchain"}
60
+ Style/NegatedIf: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenegatedif"}
61
+ Style/NegatedWhile: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenegatedwhile"}
62
+ Style/NumericPredicate: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylenumericpredicate"}
63
+ Style/ParallelAssignment: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleparallelassignment"}
64
+ Style/PercentLiteralDelimiters: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylepercentliteraldelimiters"}
65
+ Style/PerlBackrefs: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styleperlbackrefs"}
66
+ Style/RedundantAssignment: {Enabled: true}
67
+ Style/RedundantFetchBlock: {Enabled: true}
68
+ Style/RedundantRegexpCharacterClass: {Enabled: true}
69
+ Style/RedundantRegexpEscape: {Enabled: true}
70
+ Style/Semicolon: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesemicolon"}
71
+ Style/SignalException: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesignalexception"}
72
+ Style/SingleLineBlockParams: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesinglelineblockparams"}
73
+ Style/SingleLineMethods: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylesinglelinemethods"}
74
+ Style/SlicingWithRange: {Enabled: true}
75
+ Style/SpecialGlobalVars: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylespecialglobalvars"}
76
+ Style/StringLiterals: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylestringliterals"}
77
+ Style/SymbolArray: {Enabled: false, StyleGuide: "http://relaxed.ruby.style/#stylesymbolarray"}
78
+ Style/TrailingCommaInArguments: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainarguments"}
79
+ Style/TrailingCommaInArrayLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainarrayliteral"}
80
+ Style/TrailingCommaInHashLiteral: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#styletrailingcommainhashliteral"}
81
+ Style/WhileUntilModifier: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylewhileuntilmodifier"}
82
+ Style/WordArray: {Enabled: false, StyleGuide: "https://relaxed.ruby.style/#stylewordarray"}