Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Move to Jeweler and Merb conventions.

  • Loading branch information...
commit 651af09a03a10c72c057cd5444fd23879f4492dd 1 parent 76f65c7
@pk authored
Showing with 51 additions and 73 deletions.
  1. +39 −65 Rakefile
  2. +12 −8 spec/spec_helper.rb
View
104 Rakefile
@@ -1,74 +1,48 @@
-require 'rubygems'
-require 'rake/gempackagetask'
-require "rake/rdoctask"
-require 'merb-core/tasks/merb_rake_helper'
-require "spec/rake/spectask"
-
-##############################################################################
-# Package && release
-##############################################################################
-RUBY_FORGE_PROJECT = "pk-merb_sequel"
-PROJECT_URL = "http://github.com/pk/merb_sequel"
-PROJECT_SUMMARY = "Merb plugin that provides support for Sequel and Sequel::Model"
-PROJECT_DESCRIPTION = PROJECT_SUMMARY
-
-GEM_AUTHOR = "Wayne E. Seguin, Lance Carlson, Lori Holden, Pavel Kunc"
-GEM_EMAIL = "wayneeseguin@gmail.com, lancecarlson@gmail.com, email@loriholden.com, pavel.kunc@gmail.com"
-
-GEM_NAME = "pk-merb_sequel"
-PKG_BUILD = ENV['PKG_BUILD'] ? '.' + ENV['PKG_BUILD'] : ''
-GEM_VERSION = "1.0.8" + PKG_BUILD
-
-RELEASE_NAME = "REL #{GEM_VERSION}"
-
-spec = Gem::Specification.new do |s|
- s.rubyforge_project = RUBY_FORGE_PROJECT
- s.name = GEM_NAME
- s.version = GEM_VERSION
- s.platform = Gem::Platform::RUBY
- s.has_rdoc = true
- s.extra_rdoc_files = ["README.rdoc", "LICENSE", 'TODO']
- s.summary = PROJECT_SUMMARY
- s.description = PROJECT_DESCRIPTION
- s.author = GEM_AUTHOR
- s.email = GEM_EMAIL
- s.homepage = PROJECT_URL
- s.add_dependency("merb-core", ">= 0.9.9")
- s.add_dependency("sequel", ">= 2.7.0")
- s.files = %w(CHANGELOG LICENSE README.rdoc Rakefile TODO Generators) + Dir.glob("{lib}/**/*")
-end
-
-Rake::GemPackageTask.new(spec) do |pkg|
- pkg.gem_spec = spec
-end
+require "rubygems"
+require "rake"
+
+# Assume a typical dev checkout to fetch the current merb-core version
+require File.expand_path('../../merb/merb-core/lib/merb-core/version', __FILE__)
+
+# Load this library's version information
+require File.expand_path('../lib/merb_sequel/version', __FILE__)
+
+begin
+ require 'jeweler'
+
+ Jeweler::Tasks.new do |gemspec|
+ gemspec.version = Merb::Sequel::VERSION
+ gemspec.name = "merb_sequel"
+ gemspec.description = "Merb plugin that provides support for Sequel"
+ gemspec.summary = "Merb plugin that provides support for Sequel"
+ gemspec.authors = [ "Wayne E. Seguin", "Lance Carlson", "Lori Holden", "Pavel Kunc" ]
+ gemspec.email = "wayneeseguin@gmail.com, lancecarlson@gmail.com, email@loriholden.com, pavel.kunc@gmail.com"
+ gemspec.homepage = "http://github.com/merb/merb_sequel"
+ gemspec.files = %w(CHANGELOG LICENSE Rakefile README.rdoc TODO Generators) + Dir['{lib,spec}/**/*']
+ # Runtime dependencies
+ gemspec.add_dependency "merb-core", ">= 0.9.9"
+ gemspec.add_dependency "sequel", ">= 2.7.0"
+ # Development dependencies
+ gemspec.add_development_dependency "rspec", ">= 1.2.9"
+ end
-desc "Install the gem"
-task :install do
- Merb::RakeHelper.install(GEM_NAME, :version => GEM_VERSION)
-end
+ Jeweler::GemcutterTasks.new
-desc "Uninstall the gem"
-task :uninstall do
- Merb::RakeHelper.uninstall(GEM_NAME, :version => GEM_VERSION)
+rescue LoadError
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
end
-desc "Create a gemspec file"
-task :gemspec do
- File.open("#{GEM_NAME}.gemspec", "w") do |file|
- file.puts spec.to_ruby
- end
+require 'spec/rake/spectask'
+Spec::Rake::SpecTask.new(:spec) do |spec|
+ spec.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
+ spec.libs << 'lib' << 'spec'
+ spec.spec_files = FileList['spec/**/*_spec.rb']
end
-desc "Run all examples (or a specific spec with TASK=xxxx)"
-Spec::Rake::SpecTask.new('spec') do |t|
- t.spec_opts = ["-cfs"]
- t.spec_files = begin
- if ENV["TASK"]
- ENV["TASK"].split(',').map { |task| "spec/**/#{task}_spec.rb" }
- else
- FileList['spec/**/*_spec.rb']
- end
- end
+Spec::Rake::SpecTask.new(:rcov) do |spec|
+ spec.libs << 'lib' << 'spec'
+ spec.pattern = 'spec/**/*_spec.rb'
+ spec.rcov = true
end
desc 'Default: run spec examples'
View
20 spec/spec_helper.rb
@@ -1,14 +1,18 @@
-$:.unshift File.join(File.dirname(__FILE__), "..", "lib")
require 'rubygems'
-require 'merb-core'
-require 'spec'
-require 'sequel'
-require 'merb_sequel'
-Merb.start(:environment => 'test',
- :adapter => 'runner',
+# Use current merb-core sources if running from a typical dev checkout.
+lib = File.expand_path('../../../merb/merb-core/lib', __FILE__)
+$LOAD_PATH.unshift(lib) if File.directory?(lib)
+require "merb-core"
+require "sequel"
+require "merb_sequel"
+
+Merb.start(:adapter => 'runner',
+ :log_level => :error,
+ :merb_root => File.dirname(__FILE__),
:session_store => 'sequel',
- :merb_root => File.dirname(__FILE__))
+ :environment => 'test'
+ )
# Load extensions if we use new versions of Sequel
require 'sequel/extensions/migration' if Merb::Orms::Sequel.new_sequel?
Please sign in to comment.
Something went wrong with that request. Please try again.