Sha256: 50fe238d06eef5c1df3b793a86ccb88d3e130b3d37bd6581f335fa864427df0f

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

# frozen_string_literal: true

module Danger
  # Lints files (or directories) naming.
  # Generates a `string` with warning.
  #
  # @param   [Array<String>] files
  #          A globbed string which should return the files that you want to lint, defaults to nil.
  #          if nil, modified and added files from the diff will be used.
  # @param   include_path [Regexp] Scope of check
  # @param   match [Regexp] Pattern to match
  # @param   message [String] Warn message
  # @param   exclude_path [Regexp] Not required. In case you want to have some directories or files exceptions.
  # @return  [void]
  #
  class DangerSpecPostfix < Plugin
    def lint(include_path:, match:, message:, exclude_path: nil)
      wrong_files = changed_files.select { |f| f.match?(include_path) }.reject { |f| f.match?(match) }
      wrong_files = wrong_files.reject { |f| f.match?(exclude_path) } if exclude_path
      wrong_files.each { |f| warn("#{message}: #{f}") }
    end

    private

    def changed_files
      (git.modified_files + git.added_files)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
danger-spec_postfix-0.0.7 lib/spec_postfix/plugin.rb