Sha256: 77bdafa9e2efd946036bc8a87606ea5c0b136fed1ed1ab4627a4c69a4aa8c245

Contents?: true

Size: 1.57 KB

Versions: 11

Compression:

Stored size: 1.57 KB

Contents

#!/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')
  File.makedirs('spec/javascripts/helpers')

  copy_unless_exists('spec/javascripts/helpers/SpecHelper.js')
  copy_unless_exists('spec/javascripts/ExampleSpec.js')
  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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
jasmine-0.11.0.0 bin/jasmine
jasmine-0.10.4.0 bin/jasmine
jasmine-0.10.3.5 bin/jasmine
jasmine-0.10.3.4 bin/jasmine
jasmine-0.10.3.3 bin/jasmine
jasmine-0.10.3.2 bin/jasmine
jasmine-0.10.3.1 bin/jasmine
jasmine-0.10.3 bin/jasmine
jasmine-0.10.2.4 bin/jasmine
jasmine-0.10.2.3 bin/jasmine
jasmine-0.10.2.2 bin/jasmine