Filled out the project, added Ezmlm module + spec.
This commit is contained in:
parent
4b12c97f6b
commit
00d3974363
15 changed files with 1548 additions and 0 deletions
59
rake/style.rb
Normal file
59
rake/style.rb
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
#
|
||||
# Style Fixup Rake Tasks
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
### Coding style checks and fixes
|
||||
namespace :style do
|
||||
|
||||
BLANK_LINE = /^\s*$/
|
||||
GOOD_INDENT = /^(\t\s*)?\S/
|
||||
|
||||
# A list of the files that have legitimate leading whitespace, etc.
|
||||
PROBLEM_FILES = [ SPECDIR + 'config_spec.rb' ]
|
||||
|
||||
desc "Check source files for inconsistent indent and fix them"
|
||||
task :fix_indent do
|
||||
files = LIB_FILES + SPEC_FILES
|
||||
|
||||
badfiles = Hash.new {|h,k| h[k] = [] }
|
||||
|
||||
trace "Checking files for indentation"
|
||||
files.each do |file|
|
||||
if PROBLEM_FILES.include?( file )
|
||||
trace " skipping problem file #{file}..."
|
||||
next
|
||||
end
|
||||
|
||||
trace " #{file}"
|
||||
linecount = 0
|
||||
file.each_line do |line|
|
||||
linecount += 1
|
||||
|
||||
# Skip blank lines
|
||||
next if line =~ BLANK_LINE
|
||||
|
||||
# If there's a line with incorrect indent, note it and skip to the
|
||||
# next file
|
||||
if line !~ GOOD_INDENT
|
||||
trace " Bad line %d: %p" % [ linecount, line ]
|
||||
badfiles[file] << [ linecount, line ]
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if badfiles.empty?
|
||||
log "No indentation problems found."
|
||||
else
|
||||
log "Found incorrect indent in #{badfiles.length} files:\n "
|
||||
badfiles.each do |file, badlines|
|
||||
log " #{file}:\n" +
|
||||
" " + badlines.collect {|badline| "%5d: %p" % badline }.join( "\n " )
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue