Skip to content

Commit

Permalink
introduce travis ci pipeline with rubocop
Browse files Browse the repository at this point in the history
  • Loading branch information
wk committed Apr 13, 2018
1 parent 56044d3 commit ff1d19e
Show file tree
Hide file tree
Showing 6 changed files with 328 additions and 4 deletions.
20 changes: 17 additions & 3 deletions .rubocop.yml
@@ -1,5 +1,19 @@
---
inherit_from: .rubocop_todo.yml

AllCops:
Include:
- Rakefile

StringLiterals:
Enabled: false

LineLength:
# Default line length is silly. 100 is more realistic.
Max: 100
Enabled: false

# Stick to verbose until https://bugs.ruby-lang.org/issues/10177 is closed.
Style/PreferredHashMethods:
EnforcedStyle: verbose

AllCops:
Exclude:
- 'vendor/**/*'
290 changes: 290 additions & 0 deletions .rubocop_todo.yml
@@ -0,0 +1,290 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2018-04-12 23:58:26 +0200 using RuboCop version 0.54.0.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: Include, TreatCommentsAsGroupSeparators.
# Include: **/*.gemspec
Gemspec/OrderedDependencies:
Exclude:
- 'oxidized-web.gemspec'

# Offense count: 1
# Configuration parameters: Include.
# Include: **/*.gemspec
Gemspec/RequiredRubyVersion:
Exclude:
- 'oxidized-web.gemspec'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces.
# SupportedStyles: space, no_space, compact
# SupportedStylesForEmptyBraces: space, no_space
Layout/SpaceInsideHashLiteralBraces:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 3
# Cop supports --auto-correct.
Layout/SpaceInsidePercentLiteralDelimiters:
Exclude:
- 'oxidized-web.gemspec'

# Offense count: 1
# Cop supports --auto-correct.
Layout/TrailingWhitespace:
Exclude:
- 'lib/oxidized/web/mig.rb'

# Offense count: 1
Lint/AmbiguousBlockAssociation:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
Exclude:
- 'lib/oxidized/web/mig.rb'

# Offense count: 1
Lint/HandleExceptions:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 7
Metrics/AbcSize:
Max: 47

# Offense count: 1
# Configuration parameters: CountComments, ExcludedMethods.
Metrics/BlockLength:
Max: 33

# Offense count: 1
# Configuration parameters: CountBlocks.
Metrics/BlockNesting:
Max: 5

# Offense count: 2
# Configuration parameters: CountComments.
Metrics/ClassLength:
Max: 272

# Offense count: 2
Metrics/CyclomaticComplexity:
Max: 9

# Offense count: 9
# Configuration parameters: CountComments.
Metrics/MethodLength:
Max: 36

# Offense count: 3
Metrics/PerceivedComplexity:
Max: 11

# Offense count: 5
# Cop supports --auto-correct.
Performance/RedundantMatch:
Exclude:
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
# Cop supports --auto-correct.
Performance/StringReplacement:
Exclude:
- 'lib/oxidized/web/mig.rb'

# Offense count: 1
Security/Eval:
Exclude:
- 'Rakefile'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: AutoCorrect.
Security/JSONLoad:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, conditionals
Style/AndOr:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: braces, no_braces, context_dependent
Style/BracesAroundHashParameters:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
# SupportedStyles: assign_to_condition, assign_inside_condition
Style/ConditionalAssignment:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
Style/DateTime:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 3
Style/Documentation:
Exclude:
- 'spec/**/*'
- 'test/**/*'
- 'lib/oxidized/web.rb'
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/EmptyLiteral:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 2
# Configuration parameters: EnforcedStyle.
# SupportedStyles: each, for
Style/For:
Exclude:
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
Style/HashSyntax:
Exclude:
- 'Rakefile'

# Offense count: 9
# Cop supports --auto-correct.
Style/IfUnlessModifier:
Exclude:
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 10
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
Style/MethodDefParentheses:
Exclude:
- 'lib/oxidized/web.rb'
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle.
# SupportedStyles: both, prefix, postfix
Style/NegatedIf:
Exclude:
- 'lib/oxidized/web.rb'

# Offense count: 4
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, MinBodyLength.
# SupportedStyles: skip_modifier_ifs, always
Style/Next:
Exclude:
- 'lib/oxidized/web/mig.rb'
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: IncludeSemanticChanges.
Style/NonNilCheck:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/Not:
Exclude:
- 'lib/oxidized/web.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/ParallelAssignment:
Exclude:
- 'lib/oxidized/web.rb'

# Offense count: 3
# Cop supports --auto-correct.
# Configuration parameters: PreferredDelimiters.
Style/PercentLiteralDelimiters:
Exclude:
- 'oxidized-web.gemspec'

# Offense count: 1
# Cop supports --auto-correct.
Style/Proc:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 4
# Cop supports --auto-correct.
Style/RedundantParentheses:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/SelfAssignment:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Style/StringLiterals:
Exclude:
- 'lib/oxidized/web/mig.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyleForMultiline.
# SupportedStylesForMultiline: comma, consistent_comma, no_comma
Style/TrailingCommaInHashLiteral:
Exclude:
- 'lib/oxidized/web.rb'

# Offense count: 1
# Cop supports --auto-correct.
Style/WhileUntilDo:
Exclude:
- 'lib/oxidized/web/webapp.rb'

# Offense count: 1
# Cop supports --auto-correct.
# Configuration parameters: WordRegex.
# SupportedStyles: percent, brackets
Style/WordArray:
EnforcedStyle: percent
MinSize: 3

# Offense count: 10
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Metrics/LineLength:
Max: 177
5 changes: 5 additions & 0 deletions .travis.yml
@@ -0,0 +1,5 @@
language: ruby
sudo: false
cache: bundler
rvm:
- 2.1.6
2 changes: 1 addition & 1 deletion README.md
@@ -1,4 +1,4 @@
# Oxidized Web
# Oxidized Web [![Build Status](https://travis-ci.org/ytti/oxidized-web.svg)](https://travis-ci.org/ytti/oxidized-web) [![Gem Version](https://badge.fury.io/rb/oxidized-web.svg)](http://badge.fury.io/rb/oxidized-web)

Web userinterface and RESTful API for Oxidized.

Expand Down
12 changes: 12 additions & 0 deletions Rakefile
Expand Up @@ -4,6 +4,18 @@ require 'rake/testtask'
gemspec = eval(File.read(Dir['*.gemspec'].first))
file = [gemspec.name, gemspec.version].join('-') + '.gem'

# Integrate Rubocop if available
begin
require 'rubocop/rake_task'

RuboCop::RakeTask.new
task(:default).prerequisites << task(:rubocop)
rescue LoadError
task :rubocop do
puts 'Install rubocop to run its rake tasks'
end
end

desc 'Validate gemspec'
task :gemspec do
gemspec.validate
Expand Down
3 changes: 3 additions & 0 deletions oxidized-web.gemspec
Expand Up @@ -23,4 +23,7 @@ Gem::Specification.new do |s|
s.add_runtime_dependency 'emk-sinatra-url-for', '~> 0.2'
s.add_runtime_dependency 'htmlentities', '~> 4.3'
s.add_runtime_dependency 'charlock_holmes', '~> 0.7.5'

s.add_development_dependency 'rubocop', '~> 0.54'
s.add_development_dependency 'rails_best_practices', '~> 1.19'
end

0 comments on commit ff1d19e

Please sign in to comment.