59 lines
1.6 KiB
Ruby
Executable File
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
|
|
|