Sha256: 5f2f236f6243ba6683761dc81e45fee3e6b534a11d255aa690b0e5b453eebf02
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
require 'rake' require 'fileutils' # # Spec # begin require 'rspec/core/rake_task' task default: :spec RSpec::Core::RakeTask.new('spec') do |t| t.pattern = "spec/**/[^_]*_spec.rb" end namespace :spec do desc "Run RSpec code exapmples in isolated mode (every spec file in another Ruby process)" task :isolated do Dir.glob("spec/[^_]**/[^_]*_spec.rb").each do |spec_file| Kernel.system "rspec #{spec_file}" end end end rescue LoadError task :default do puts "default rake task is :rspec but there's no rspec gem installed, install it first" end end # # project_dir # PROJECT_DIR = ( caller.find{|line| line =~ /\/Rakefile\:/} || raise("You can include the 'rake_ext' only in Rakefile!") ).sub(/\/Rakefile\:.*/, '') def project_dir PROJECT_DIR end # # before, after and remove task # def before task_name, &block @task_counter ||= {} counter = (@task_counter[task_name] ||= 0) before_task_name = "#{task_name}_before_#{counter}" task before_task_name, &block task task_name => before_task_name @task_counter[task_name] += 1 end def after task_name, &block task task_name, &block end def remove_task(task_name) Rake.application.instance_variable_get('@tasks').delete(task_name.to_s) end alias :delete_task :remove_task # # project # def project options = nil if options @options = {} options.each{|k, v| @options[k.to_sym] = v} @options[:name] || raise("project name not defined") @options[:official_name] ||= @options[:name] require 'rake_ext/project' end @options || raise("project not defined!") end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby_ext-0.4.12 | lib/rake_ext.rb |