def gem_name

Dir.pwd.split('/').last

end

namespace :gem do

desc "Bump, tag, build and release [#{gem_name}]"
task :release do
  require 'bump/tasks'
  puts "Releasing a new version of [#{gem_name}]"
  Rake::Task["gem:bump"].invoke
  Rake::Task["gem:tag"].invoke
  Rake::Task["gem:build"].invoke
  Rake::Task["gem:push"].invoke
  Rake::Task["gem:cleanup"].invoke
end

task :build do
  sh "gem build #{gem_name}.gemspec"
end

task :push do
  require 'bump'
  sh "gem push #{gem_name}-#{Bump::Bump.current}.gem"
end

task :tag do
  require 'bump'
  version = Bump::Bump.current
  puts "tagging v#{version}"
  `git push && git tag v#{version} && git push --tags`
end

task :bump do
  Rake::Task["bump:patch"].invoke
end

task :cleanup do
  Dir.glob("#{Dir.pwd}/*.gem").each { |f| File.delete(f) }
end

end