class Jeweler::Commands::SetupRubyforge
def self.build_for(jeweler)
def self.build_for(jeweler) command = new command.gemspec = jeweler.gemspec command.output = jeweler.output command.rubyforge = jeweler.rubyforge command end
def run
def run raise NoRubyForgeProjectInGemspecError unless @gemspec.rubyforge_project @rubyforge.configure output.puts "Logging into rubyforge" @rubyforge.login output.puts "Creating #{@gemspec.name} package in the #{@gemspec.rubyforge_project} project" begin @rubyforge.create_package(@gemspec.rubyforge_project, @gemspec.name) rescue StandardError => e case e.message when /no <group_id> configured for <#{Regexp.escape @gemspec.rubyforge_project}>/ raise RubyForgeProjectNotConfiguredError, @gemspec.rubyforge_project else raise end end end