./Rakefile in methodchain-0.4.0 vs ./Rakefile in methodchain-0.4.1
- old
+ new
@@ -1,97 +1,28 @@
-project = "methodchain"
+$project = "methodchain"
+$rcov_index_html = 'coverage/lib-methodchain-not_included_rb.html'
-def exit_msg(msg, code=1)
- puts msg
- exit(code)
-end
-def run command
- res = `#{command}`
- exit_msg res, $?.exitstatus if $?.exitstatus != 0
- res
-end
+require 'tasks/helpers'
+
def __DIR__; "#{File.dirname(__FILE__)}" end
-def cd_tmp
- Dir.mkdir 'tmp' unless File.directory? 'tmp'
- Dir.chdir('tmp') do |dir|
- yield dir
- end
- rm_rf 'tmp'
-end
-class IO
- def self.write( file, str )
- self.open( file, 'w' ) { |fh| fh.print str }
- end
- def self.read_write( file, write_file=file )
- self.write(write_file, (yield( self.read( file ))))
- end
-end
-
desc "test run all tests"
task :test => [:spec, 'readme:test']
-desc "run specs"
-task :spec do
- Dir[ 'spec/*' ].each do |file|
- (puts (run "spec #{file}"))
- end
-end
-
-require 'rubygems'
-require 'spec/rake/spectask'
-desc "verify test coverage with RCov"
-task :rcov => 'rcov:verify'
-namespace :rcov do
- Spec::Rake::SpecTask.new('rcov') do |t|
- t.spec_files = ['spec/*.rb']
- t.rcov = true
- t.rcov_opts = ['--exclude', 'spec']
- end
-
- require 'spec/rake/verify_rcov'
- # rcov is wrong- I am actually at 100%
- RCov::VerifyTask.new(:verify => :rcov) do |t|
- t.threshold = 100 # Make sure you have rcov 0.7 or higher!
- t.index_html = 'coverage/lib-methodchain-not_included_rb.html'
- end
-end
-
-desc "release a new gem to rubyforge"
-task :release => [:test,:record,:rdoc,:website,:package] do
- Dir.chdir('pkg') do
- release = Dir['*.gem'].sort_by {|file| File.mtime(file)}.last
- release =~ /^[^-]+-([.0-9]+).gem$/
- (puts (run "rubyforge login && rubyforge add_release #{project} #{project} #$1 #{release}"))
- end
-end
-
-desc "update website"
-file :website => ['README','Rakefile'] do
- Dir.chdir '/home/greg/sites/projects/' do
- (puts (run 'rake projects:update'))
- (puts (run 'rake deploy:rsync'))
- end
-end
-
-desc "generate documentation"
-task :rdoc do
- fail unless system 'rdoc --force-update --quiet README lib/*'
-end
-
namespace :readme do
desc "create html for website using coderay, use --silent option"
task :html do
rm_rf 'doc'
`rdoc --quiet README`
require 'hpricot'
+ require 'htmlentities'
doc = open( 'doc/files/README.html' ) { |f| Hpricot(f) }
# find example code
doc.at('#description').search('pre').each do |ex|
#select {|elem| elem.inner_html =~ /class |module /}.each do |ex|
# add coderay and undo what rdoc has done in the example code
- ex.swap("<coderay lang='ruby'>#{ex.inner_html.gsub('"', '"').gsub('>','>').gsub('<', '<')}</coderay>")
+ ex.swap("<coderay lang='ruby'>#{HTMLEntities.new.decode ex.inner_html}</coderay>")
end
puts doc.at('#description').to_html
end
# run README through xmp
@@ -115,41 +46,28 @@
puts "README code successfully evaluated"
end
end
end
-desc 'git add and push'
-task :record do
- unless `git diff`.chomp.empty?
- ARGV.clear
- puts "enter commit message"
- (puts (run "git commit -a -m '#{Kernel.gets}'"))
- puts "committed! now pushing.. "
- (puts (run 'git push origin master'))
- end
-end
-
require 'rubygems'
require 'rake/gempackagetask'
spec = Gem::Specification.new do |s|
- s.name = project
- s.rubyforge_project = project
- s.version = "0.4.0"
+ s.name = $project
+ s.rubyforge_project = $project
+ s.version = "0.4.1"
s.author = "Greg Weber"
s.email = "greg@gregweber.info"
- s.homepage = "http://projects.gregweber.info/#{project}"
+ s.homepage = "http://projects.gregweber.info/#{$project}"
s.platform = Gem::Platform::RUBY
s.summary = "convenience methods for method chaining"
s.files =
FileList.new('./**', '*/**', 'lib/methodchain/*') do |fl|
- fl.exclude('pkg','pkg/*','tmp','tmp/*', 'coverage', 'coverage/*')
- end
- p s.files
+ fl.exclude('pkg','pkg/*','tmp','tmp/*', 'coverage', 'coverage/*')
+ end
s.require_path = "lib"
s.has_rdoc = true
s.extra_rdoc_files = ["README"]
end
-
Rake::GemPackageTask.new(spec) do |pkg|
pkg.need_tar = false
end