jasmine/bin/jasmine

55 lines
1.5 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 rakefile_path
expand(cwd, 'templates/Rakefile')
end
if ARGV[0] == 'init'
require 'ftools'
File.makedirs('spec/javascripts')
File.makedirs('spec/helpers')
dest_root = File.expand_path(Dir.pwd)
dest_spec = expand(dest_root, 'spec')
dest_spec_javascripts = expand(dest_root, 'spec/javascripts')
dest_spec_helpers = expand(dest_root, 'spec/helpers')
unless File.exist?(expand(dest_spec_helpers, 'spec_helper.js'))
File.copy(expand(cwd, 'templates/spec_helper.js'), dest_spec_helpers)
end
unless File.exist?(expand(dest_spec_helpers, 'jasmine_helper.rb'))
File.copy(expand(cwd, 'templates/jasmine_helper.rb'), dest_spec_helpers)
end
File.copy(expand(cwd, 'templates/example_spec.js'), dest_spec_javascripts)
rails_tasks_dir = expand(dest_root, 'lib', 'tasks')
if File.exist?(rails_tasks_dir)
File.makedirs('lib/tasks/jasmine')
File.copy(rakefile_path, File.join(rails_tasks_dir, 'jasmine/jasmine.rake'))
else
if File.exist?(expand(dest_root, 'Rakefile'))
existing_rakefile = expand(dest_root, 'Rakefile')
load existing_rakefile
unless Rake::Task.task_defined?('jasmine')
open(existing_rakefile, 'a') do |f|
f.write(File.read(rakefile_path))
end
end
else
File.copy(rakefile_path, dest_root)
end
end
end