Sha256: ec46454f9ee19937aab91f0696eb3645866b29ed4009d332e3fd4f8936d38874
Contents?: true
Size: 958 Bytes
Versions: 2
Compression:
Stored size: 958 Bytes
Contents
require 'pronto' require 'pronto/credo/wrapper' module Pronto class CredoRunner < Runner def initialize(_, _) super end def run return [] unless @patches @patches.select { |p| p.additions > 0 } .select { |p| elixir_file?(p.new_file_full_path) } .map { |p| inspect(p) } .flatten .compact end private def inspect(patch) offences = Credo::Wrapper.new(patch).lint messages = [] offences.each do |offence| messages += patch .added_lines .select { |line| line.new_lineno == offence[:line] } .map { |line| new_message(offence, line) } end messages.compact end def new_message(offence, line) path = line.patch.delta.new_file[:path] Message.new(path, line, offence[:level], offence[:message]) end def elixir_file?(path) %w(.ex .exs).include?(File.extname(path)) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pronto-credo-0.0.4 | lib/pronto/credo_runner.rb |
pronto-credo-0.0.3 | lib/pronto/credo_runner.rb |