Class: Reek::Rake::Task

Inherits:
Rake::TaskLib
  • Object
show all
Defined in:
lib/reek/rake/task.rb

Overview

A Rake task that runs reek on a set of source files.

Example:

require 'reek/rake/task'

Reek::Rake::Task.new do |t|
  t.fail_on_error = false
end

This will create a task that can be run with:

rake reek

Examples:

rake reek                                # checks lib/**/*.rb
rake reek REEK_SRC=just_one_file.rb      # checks a single source file
rake reek REEK_OPTS=-s                   # sorts the report by smell

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name = :reek) {|_self| ... } ⇒ Task

Returns a new instance of Task.

Yields:

  • (_self)

Yield Parameters:



61
62
63
64
65
66
67
68
69
70
# File 'lib/reek/rake/task.rb', line 61

def initialize(name = :reek)
  @name          = name
  @reek_opts     = ''
  @fail_on_error = true
  @source_files  = 'lib/**/*.rb'
  @verbose       = false

  yield self if block_given?
  define_task
end

Instance Attribute Details

#config_file=(value) ⇒ Object

Path to reek’s config file. Setting the REEK_CFG environment variable overrides this.



41
42
43
# File 'lib/reek/rake/task.rb', line 41

def config_file=(value)
  @config_file = value
end

#fail_on_error=(value) ⇒ Object (writeonly)

Whether or not to fail Rake when an error occurs (typically when smells are found). Defaults to true.



55
56
57
# File 'lib/reek/rake/task.rb', line 55

def fail_on_error=(value)
  @fail_on_error = value
end

#name=(value) ⇒ Object (writeonly)

Name of reek task. Defaults to :reek.



37
38
39
# File 'lib/reek/rake/task.rb', line 37

def name=(value)
  @name = value
end

#reek_opts=(value) ⇒ Object

String containing commandline options to be passed to Reek. Setting the REEK_OPTS environment variable overrides this value. Defaults to ”.



51
52
53
# File 'lib/reek/rake/task.rb', line 51

def reek_opts=(value)
  @reek_opts = value
end

#source_files=(value) ⇒ Object

Glob pattern to match source files. Setting the REEK_SRC environment variable overrides this. Defaults to ‘lib/*/.rb’.



46
47
48
# File 'lib/reek/rake/task.rb', line 46

def source_files=(value)
  @source_files = value
end

#verbose=(value) ⇒ Object (writeonly)

Use verbose output. If this is set to true, the task will print the reek command to stdout. Defaults to false.



59
60
61
# File 'lib/reek/rake/task.rb', line 59

def verbose=(value)
  @verbose = value
end