# # # # Get gemspec info
gemspec_file = Dir.first gemspec = eval File.read(gemspec_file), binding, gemspec_file info = “#{gemspec.name} | #{gemspec.version} | ” \
"#{gemspec.runtime_dependencies.size} dependencies | " "#{gemspec.files.size} files"
# # # # Gem build and install task
desc info task :gem do
puts info + "\n\n" print " "; sh "gem build #{gemspec_file}" FileUtils.mkdir_p 'pkg' FileUtils.mv "#{gemspec.name}-#{gemspec.version}.gem", 'pkg' puts; sh %Q{gem install --no-document pkg/#{gemspec.name}-#{gemspec.version}.gem}
end
# # # # Start an IRB session with the gem loaded
desc “#{gemspec.name} | IRB” task :irb do
sh "irb -I ./lib -r #{gemspec.name.gsub '-','/'}"
end
# # # # Run all specs
desc “#{gemspec.name} | Test” task :test do
sh "rspec spec"
end task :spec => :test task :default => :test
# # # # Update index table
namespace :update do
desc "#{gemspec.name} | Update index" task :index do require File.dirname(__FILE__) + '/lib/unicode/display_width/index_builder' Unicode::DisplayWidth::IndexBuilder.build! end
end
# # # # Update data file
namespace :update do
desc "#{gemspec.name} | Update unicode data" task :data do require File.dirname(__FILE__) + '/lib/unicode/display_width/index_builder' Unicode::DisplayWidth::IndexBuilder.fetch! end
end