jasmine/bin/jasmine

59 lines
1.6 KiB
Ruby
Executable File

#!/usr/bin/env ruby
require 'rubygems'
require 'rake'
def cwd
File.expand_path(File.join(File.dirname(__FILE__), '..'))
end
def expand(*paths)
File.expand_path(File.join(*paths))
end
def template_path(filepath)
expand(cwd, File.join("generators/jasmine/templates", filepath))
end
def dest_path(filepath)
expand(Dir.pwd, filepath)
end
def copy_unless_exists(relative_path, dest_path = nil)
unless File.exist?(dest_path(relative_path))
File.copy(template_path(relative_path), dest_path(dest_path || relative_path))
end
end
if ARGV[0] == 'init'
require 'ftools'
File.makedirs('spec/javascripts')
File.makedirs('spec/javascripts/support')
copy_unless_exists('spec/javascripts/SpecHelper.js')
copy_unless_exists('spec/javascripts/ExampleSpec.js')
copy_unless_exists('spec/javascripts/support/jasmine_config.rb')
copy_unless_exists('spec/javascripts/support/jasmine_runner.rb')
rails_tasks_dir = dest_path('lib/tasks')
if File.exist?(rails_tasks_dir)
copy_unless_exists('lib/tasks/jasmine.rake')
copy_unless_exists('spec/javascripts/support/jasmine-rails.yml', 'spec/javascripts/support/jasmine.yml')
else
copy_unless_exists('spec/javascripts/support/jasmine.yml')
write_mode = 'w'
if File.exist?(dest_path('Rakefile'))
load dest_path('Rakefile')
write_mode = 'a'
end
unless Rake::Task.task_defined?('jasmine')
File.open(dest_path('Rakefile'), write_mode) do |f|
f.write(File.read(template_path('lib/tasks/jasmine.rake')))
end
end
end
File.open(template_path('INSTALL'), 'r').each_line do |line|
puts line
end
end