source code filter version 1
This commit is contained in:
parent
d84ec44b55
commit
d6081c7b5c
1 changed files with 61 additions and 0 deletions
61
script/SourceCodeFilter.rb
Executable file
61
script/SourceCodeFilter.rb
Executable file
|
@ -0,0 +1,61 @@
|
|||
#!/usr/bin/ruby
|
||||
# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/
|
||||
|
||||
require 'tempfile'
|
||||
|
||||
def checkForHeader(fileName)
|
||||
foundHeader = false;
|
||||
foundSheBang = false;
|
||||
header = "# Copyright (C) 2012-2013 Zammad Foundation, http://zammad-foundation.org/\n\n"
|
||||
|
||||
file = File.open(fileName)
|
||||
t_file = Tempfile.new('Temp')
|
||||
allLines = IO.readlines(fileName)
|
||||
|
||||
if allLines[0] =~ /(^# Copyright)/ || allLines[1] =~ /(^# Copyright)/
|
||||
foundHeader = true
|
||||
puts 'foundHeader'
|
||||
end
|
||||
if allLines[0] =~ /(^#!\/)/
|
||||
foundSheBang = true
|
||||
puts 'foundSheBang'
|
||||
end
|
||||
|
||||
file.each do |line|
|
||||
if file.lineno == 1 && foundSheBang && foundHeader
|
||||
t_file.puts line
|
||||
elsif file.lineno == 1 && !foundSheBang && !foundHeader
|
||||
t_file.puts header
|
||||
t_file.puts line
|
||||
elsif file.lineno == 1 && foundSheBang && !foundHeader
|
||||
t_file.puts line
|
||||
t_file.puts header
|
||||
else
|
||||
puts line
|
||||
t_file.puts line.rstrip
|
||||
end
|
||||
end
|
||||
|
||||
t_file.rewind
|
||||
t_file.close
|
||||
FileUtils.cp(t_file.path, fileName)
|
||||
t_file.unlink
|
||||
end
|
||||
|
||||
#folder array
|
||||
#folder = ['app/controllers/','app/models/', 'app/helpers/', 'app/mailers/']
|
||||
#folder = ['app/controllers/', 'script']
|
||||
folder = ['script/']
|
||||
|
||||
folder.each do |folder|
|
||||
puts 'Working on folder' + folder.to_s
|
||||
rbfiles = File.join("../#{folder}**", "*.rb")
|
||||
d = Dir.glob(rbfiles)
|
||||
|
||||
d.each {|fileName|
|
||||
puts "Working on #{fileName}"
|
||||
|
||||
#check if file header is present
|
||||
checkForHeader(fileName)
|
||||
}
|
||||
end
|
Loading…
Reference in a new issue