Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added Rakefile for creating gemspec and gem

  • Loading branch information...
commit 47b2b6623742d50473bb19b375366a812c1c4df8 1 parent 2295e93
James Tan authored
Showing with 48 additions and 0 deletions.
  1. +48 −0 Rakefile
View
48 Rakefile
@@ -0,0 +1,48 @@
+require 'rake/rdoctask'
+require 'rake/gempackagetask'
+
+spec = Gem::Specification.new do |s|
+ s.name = 'spawn'
+ s.version = '1.0.1'
+ s.platform = Gem::Platform::RUBY
+ s.description = "This plugin provides a 'spawn' method to easily fork OR
+thread long-running sections of code so that your application can return
+results to your users more quickly. This plugin works by creating new database
+connections in ActiveRecord::Base for the spawned block.
+
+The plugin also patches ActiveRecord::Base to handle some known bugs when using
+threads (see lib/patches.rb)."
+ s.summary = "Easily fork OR thread long-running sections of code in Ruby"
+ exclude_folders = 'spec/rails/{doc,lib,log,nbproject,tmp,vendor,test}'
+ exclude_files = FileList['**/*.log'] + FileList[exclude_folders+'/**/*'] + FileList[exclude_folders]
+ s.files = FileList['{examples,lib,tasks,spec}/**/*'] + %w(CHANGELOG init.rb LICENSE Rakefile README) - exclude_files
+ s.require_path = 'lib'
+ s.has_rdoc = true
+ s.test_files = Dir['spec/*_spec.rb']
+ s.author = 'Tom Anderson'
+ s.email = 'tom@squeat.com'
+ s.homepage = 'http://github.com/tra/spawn'
+end
+
+desc "Generate documentation for the #{spec.name} plugin."
+Rake::RDocTask.new(:rdoc) do |rdoc|
+ rdoc.rdoc_dir = 'rdoc'
+ rdoc.title = spec.name
+ #rdoc.template = '../rdoc_template.rb'
+ rdoc.options << '--line-numbers' << '--inline-source'
+ rdoc.rdoc_files.include('README.rdoc', 'CHANGELOG.rdoc', 'LICENSE', 'lib/**/*.rb')
+end
+
+desc 'Generate a gemspec file.'
+task :gemspec do
+ File.open("#{spec.name}.gemspec", 'w') do |f|
+ f.write spec.to_ruby
+ end
+end
+
+Rake::GemPackageTask.new(spec) do |p|
+ p.gem_spec = spec
+ p.need_tar = RUBY_PLATFORM =~ /mswin/ ? false : true
+ p.need_zip = true
+end
+
Please sign in to comment.
Something went wrong with that request. Please try again.