Commit 1b38f2a

mokha <mokha@cisco.com>
2019-03-12 23:23:40
add linter.
1 parent 88c9788
bin/lint
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+[ -z "$DEBUG" ] || set -x
+
+echo [$(date "+%H:%M:%S")] "==> Running setup…"
+bin/setup
+
+echo [$(date "+%H:%M:%S")] "==> Running linters…"
+bundle exec rake lint
minbox.gemspec
@@ -1,44 +1,48 @@
+# frozen_string_literal: true
 
-lib = File.expand_path("../lib", __FILE__)
+lib = File.expand_path('lib', __dir__)
 $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
-require "minbox/version"
+require 'minbox/version'
 
 Gem::Specification.new do |spec|
-  spec.name          = "minbox"
+  spec.name          = 'minbox'
   spec.version       = Minbox::VERSION
-  spec.authors       = ["mo khan"]
-  spec.email         = ["mo@mokhan.ca"]
+  spec.authors       = ['mo khan']
+  spec.email         = ['mo@mokhan.ca']
 
-  spec.summary       = %q{A minimal smtp server.}
-  spec.description   = %q{A minimal smtp server.}
-  spec.homepage      = "https://www.mokhan.ca/"
-  spec.license       = "MIT"
+  spec.summary       = 'A minimal smtp server.'
+  spec.description   = 'A minimal smtp server.'
+  spec.homepage      = 'https://www.mokhan.ca/'
+  spec.license       = 'MIT'
 
   # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
   # to allow pushing to a single host or delete this section to allow pushing to any host.
   if spec.respond_to?(:metadata)
-    spec.metadata["homepage_uri"] = spec.homepage
-    spec.metadata["source_code_uri"] = "https://github.com/mokhan/minbox"
-    spec.metadata["changelog_uri"] = "https://github.com/mokhan/minbox/blob/CHANGELOG.md"
+    spec.metadata['homepage_uri'] = spec.homepage
+    spec.metadata['source_code_uri'] = 'https://github.com/mokhan/minbox'
+    spec.metadata['changelog_uri'] = 'https://github.com/mokhan/minbox/blob/CHANGELOG.md'
   else
-    raise "RubyGems 2.0 or newer is required to protect against " \
-      "public gem pushes."
+    raise 'RubyGems 2.0 or newer is required to protect against ' \
+      'public gem pushes.'
   end
 
   # Specify which files should be added to the gem when it is released.
   # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
-  spec.files         = Dir.chdir(File.expand_path('..', __FILE__)) do
+  spec.files = Dir.chdir(File.expand_path(__dir__)) do
     `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
   end
-  spec.bindir        = "exe"
+  spec.bindir        = 'exe'
   spec.executables   = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
-  spec.require_paths = ["lib"]
+  spec.require_paths = ['lib']
 
-  spec.add_dependency "mail", "~> 2.7"
-  spec.add_dependency "redis", "~> 4.1"
-  spec.add_dependency "thor", "~> 0.20"
-  spec.add_development_dependency "bundler", "~> 2.0"
-  spec.add_development_dependency "faker", "~> 1.9"
-  spec.add_development_dependency "rake", "~> 10.0"
-  spec.add_development_dependency "rspec", "~> 3.0"
+  spec.add_dependency 'mail', '~> 2.7'
+  spec.add_dependency 'redis', '~> 4.1'
+  spec.add_dependency 'thor', '~> 0.20'
+  spec.add_development_dependency 'bundler', '~> 2.0'
+  spec.add_development_dependency 'bundler-audit', '~> 0.6'
+  spec.add_development_dependency 'faker', '~> 1.9'
+  spec.add_development_dependency 'rake', '~> 10.0'
+  spec.add_development_dependency 'rspec', '~> 3.0'
+  spec.add_development_dependency 'rubocop', '~> 0.52'
+  spec.add_development_dependency 'rubocop-rspec', '~> 1.22'
 end
Rakefile
@@ -1,6 +1,13 @@
-require "bundler/gem_tasks"
-require "rspec/core/rake_task"
+# frozen_string_literal: true
+
+require 'bundler/audit/task'
+require 'bundler/gem_tasks'
+require 'rspec/core/rake_task'
+require 'rubocop/rake_task'
 
 RSpec::Core::RakeTask.new(:spec)
+RuboCop::RakeTask.new(:rubocop)
+Bundler::Audit::Task.new
 
-task :default => :spec
+task lint: [:rubocop, 'bundle:audit']
+task default: :spec