class RubyLint::RakeTask
Class for easily creating Rake tasks without having to shell out to the commandline executable.
Basic usage:
require 'ruby-lint/rake_task' RubyLint::RakeTask.new do |task| task.name = 'lint' task.files = ['lib/my-project-name'] end
@!attribute [rw] name
@return [String] The name of the task.
@!attribute [rw] description
@return [String] The description of the task.
@!attribute [rw] debug
@return [TrueClass|FalseClass] Enables/disables debugging mode.
@!attribute [rw] files
@return [Array] The files to check.
@!attribute [rw] configuration
@return [String] Path to the configuration file to use.
Attributes
configuration[RW]
debug[RW]
description[RW]
files[RW]
name[RW]
Public Class Methods
new(options = {}) { |self| ... }
click to toggle source
@param [Hash] options
# File lib/ruby-lint/rake_task.rb, line 39 def initialize(options = {}) @name = 'lint' @description = 'Check source code using ruby-lint' options.each do |key, value| instance_variable_set("@#{key}", value) if respond_to?(key) end yield self if block_given? desc(description) task(name) do validate! run_task end end
Public Instance Methods
create_configuration()
click to toggle source
@return [RubyLint::Configuration]
# File lib/ruby-lint/rake_task.rb, line 85 def create_configuration config_files = RubyLint::Configuration.configuration_files if configuration config_files = [configuration] end config = RubyLint::Configuration.load_from_file(config_files) config.debug = debug return config end
run_task()
click to toggle source
Processes a list of files and writes the output to STDOUT.
# File lib/ruby-lint/rake_task.rb, line 73 def run_task config = create_configuration runner = RubyLint::Runner.new(config) list = FileList.new output = runner.analyze(list.process(files)) puts(output) unless output.empty? end
validate!()
click to toggle source
Checks if the task is configured properly, exists with code 1 if this isn't the case.
# File lib/ruby-lint/rake_task.rb, line 60 def validate! if configuration and !File.file?(configuration) abort "The configuration file #{configuration} does not exist" end if files.empty? abort 'No files to check were specified' end end