Sha256: 558e83c25f2801a096378fd703042338243db960dac2e9a5da839a5c13064b87

Contents?: true

Size: 851 Bytes

Versions: 2

Compression:

Stored size: 851 Bytes

Contents

class RoodiTask < Rake::TaskLib
  attr_accessor :name
  attr_accessor :patterns
  attr_accessor :config
  attr_accessor :verbose

  def initialize name = :roodi, patterns = nil, config = nil
    @name      = name
    @patterns  = patterns || %w(app/**/*.rb lib/**/*.rb spec/**/*.rb test/**/*.rb)
    @config    = config
    @verbose   = Rake.application.options.trace

    yield self if block_given?

    define
  end

  def define
    desc "Check for design issues in: #{patterns.join(', ')}"
    task name do
      runner = Roodi::Core::ParseTreeRunner.new

      runner.config = config if config

      patterns.each do |pattern|
        Dir.glob(pattern).each { |file| runner.check_file(file) }
      end

      runner.errors.each {|error| puts error}

      raise "Found #{runner.errors.size} errors." if runner.errors
    end
    self
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
roodi-1.3.5 lib/roodi_task.rb
roodi-1.3.6 lib/roodi_task.rb