summaryrefslogtreecommitdiff
path: root/rake_tasks
diff options
context:
space:
mode:
authorKornelius Kalnbach <murphy@rubychan.de>2013-03-10 23:16:30 +0100
committerKornelius Kalnbach <murphy@rubychan.de>2013-03-10 23:16:30 +0100
commitaf5d3ac98d36253452c779ba3663f4c72dfb3823 (patch)
tree93606f8f16a33efe764e1cb5a1bf3913e081d0cd /rake_tasks
parent8fa3e19450bd069af0d8bc268a5ed1889217423e (diff)
downloadcoderay-af5d3ac98d36253452c779ba3663f4c72dfb3823.tar.gz
upgrade generate:scanner task
Diffstat (limited to 'rake_tasks')
-rw-r--r--rake_tasks/generator.rake23
1 files changed, 10 insertions, 13 deletions
diff --git a/rake_tasks/generator.rake b/rake_tasks/generator.rake
index 9f5c192..6c9c313 100644
--- a/rake_tasks/generator.rake
+++ b/rake_tasks/generator.rake
@@ -3,9 +3,9 @@ namespace :generate do
task :scanner do
raise 'I need a scanner name; use NAME=lang' unless scanner_class_name = ENV['NAME']
raise "Invalid lang: #{scanner_class_name}; use NAME=lang." unless /\A\w+\z/ === scanner_class_name
- require 'active_support'
+ require 'active_support/all'
lang = scanner_class_name.underscore
- class_name = scanner_class_name.classify
+ class_name = scanner_class_name.camelize
def scanner_file_for_lang lang
File.join(LIB_ROOT, 'coderay', 'scanners', lang + '.rb')
@@ -25,6 +25,7 @@ namespace :generate do
File.open(scanner_file, 'w') do |file|
file.write base_scanner.
sub(/class \w+ < Scanner/, "class #{class_name} < Scanner").
+ sub('# Scanner for JSON (JavaScript Object Notation).', "# A scanner for #{scanner_class_name}.").
sub(/register_for :\w+/, "register_for :#{lang}").
sub(/file_extension '\S+'/, "file_extension '#{ENV.fetch('EXT', lang).split(',').first}'")
end
@@ -37,9 +38,9 @@ namespace :generate do
test_suite_file = File.join(test_dir, 'suite.rb')
unless File.exist? test_suite_file
puts "Creating test suite file #{test_suite_file}..."
- base_suite = File.read File.join(test_dir, '..', 'json', 'suite.rb')
+ base_suite = File.read File.join(test_dir, '..', 'ruby', 'suite.rb')
File.open(test_suite_file, 'w') do |file|
- file.write base_suite.sub(/class JSON/, "class #{class_name}")
+ file.write base_suite.sub(/class Ruby/, "class #{class_name}")
end
end
@@ -59,17 +60,13 @@ namespace :generate do
end
end
- print 'Add to SVN? [Y|n] '
+ print 'Add to git? [Y|n] '
answer = $stdin.gets.chomp.downcase
if answer.empty? || answer == 'y'
- sh "svn add #{scanner_file}"
- sh "svn add #{test_dir}"
- svn_ignore = <<-SVN_IGNORE
-*.actual.*
-*.expected.html
-*.debug.diff*
- SVN_IGNORE
- sh "svn pset svn:ignore '#{svn_ignore}' #{test_dir}"
+ sh "git add #{scanner_file}"
+ cd File.join('test', 'scanners') do
+ sh "git add #{lang}"
+ end
end
end
end