Add rakefile and rubocop config from other provider gems

This commit is contained in:
Jake Spain 2023-01-30 16:31:05 -05:00
parent 5787a82a0b
commit 405b52b2e1
No known key found for this signature in database
GPG key ID: BC1C4DA0A085E113
4 changed files with 85 additions and 12 deletions

2
.jrubyrc Normal file
View file

@ -0,0 +1,2 @@
# for simplecov to work in jruby, without this we are getting errors when debugging spec tests
debug.fullTrace=true

View file

@ -1,13 +1,53 @@
AllCops: AllCops:
TargetRubyVersion: 2.6 Include:
- 'lib/**/*.rb'
Exclude:
- 'scripts/**/*'
- 'spec/**/*'
- 'vendor/**/*'
- Gemfile
- Rakefile
Style/StringLiterals: # These short variable names make sense as exceptions to the rule, but generally I think short variable names do hurt readability
Naming/MethodParameterName:
AllowedNames:
- vm
- dc
- s
- x
- f
#new cops:
Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
Enabled: true Enabled: true
EnforcedStyle: double_quotes Lint/EmptyBlock: # (new in 1.1)
Style/StringLiteralsInInterpolation:
Enabled: true Enabled: true
EnforcedStyle: double_quotes Lint/ToEnumArguments: # (new in 1.1)
Enabled: true
Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
Enabled: true
Style/ArgumentsForwarding: # (new in 1.1)
Enabled: false
Style/DocumentDynamicEvalDefinition: # (new in 1.1)
Enabled: true
Style/SwapValues: # (new in 1.1)
Enabled: false
#disabled
Metrics/AbcSize:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Layout/LineLength: Layout/LineLength:
Max: 120 Enabled: false
Metrics/BlockLength:
Enabled: false

View file

@ -1,8 +1,25 @@
# frozen_string_literal: true require 'rspec/core/rake_task'
require "bundler/gem_tasks" rubocop_available = Gem::Specification::find_all_by_name('rubocop').any?
require "rubocop/rake_task" require 'rubocop/rake_task' if rubocop_available
RuboCop::RakeTask.new desc 'Run rspec tests with coloring.'
RSpec::Core::RakeTask.new(:test) do |t|
t.rspec_opts = %w[--color --format documentation]
t.pattern = 'spec/'
end
task default: :rubocop desc 'Run rspec tests and save JUnit output to results.xml.'
RSpec::Core::RakeTask.new(:junit) do |t|
t.rspec_opts = %w[-r yarjuf -f JUnit -o results.xml]
t.pattern = 'spec/'
end
if rubocop_available
desc 'Run RuboCop'
RuboCop::RakeTask.new(:rubocop) do |task|
task.options << '--display-cop-names'
end
end
task :default => [:test]

14
spec/spec_helper.rb Normal file
View file

@ -0,0 +1,14 @@
# frozen_string_literal: true
require 'simplecov'
SimpleCov.start do
add_filter '/spec/'
end
def project_root_dir
File.dirname(File.dirname(__FILE__))
end
def fixtures_dir
File.join(project_root_dir, 'spec', 'fixtures')
end