Sha256: 4140762a0f2f47f73552e67a7c5c9d52331b467adbea537729a51804780e79dc
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
require 'reek' module Danger # Lints Ruby files via [Reek](https://rubygems.org/gems/reek). # Results are sent as inline comments. # # @example Running Reek # # # Runs Reek on modified and added files in the PR # reek.lint # # @see blooper05/danger-reek # @tags ruby, reek, lint class DangerReek < Plugin # Runs Ruby files through Reek. # @return [Array<Reek::SmellWarning, nil>] def lint files_to_lint = fetch_files_to_lint code_smells = run_linter(files_to_lint) warn_each_line(code_smells) end private def run_linter(files_to_lint) files_to_lint.flat_map do |file| examiner = ::Reek::Examiner.new(file) examiner.smells end end def fetch_files_to_lint files = git.modified_files + git.added_files Array(files.map { |file| Pathname(file) }) end def warn_each_line(code_smells) code_smells.each do |smell| message = smell.message.capitalize source = smell.source smell.lines.each do |line| warn(message, file: source, line: line) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
danger-reek-0.1.0 | lib/reek/plugin.rb |