class Jeweler::Commands::BuildGem
def self.build_for(jeweler)
def self.build_for(jeweler) command = new command.base_dir = jeweler.base_dir command.gemspec_helper = jeweler.gemspec_helper command.version_helper = jeweler.version_helper command end
def initialize
def initialize self.file_utils = FileUtils end
def run
def run gemspec_helper.update_version(version_helper) unless gemspec_helper.has_version? gemspec = gemspec_helper.parse if Gem::Version.new(`gem -v`) >= Gem::Version.new('2.0.0.a') gem_file_name = Gem::Package.build(gemspec) else require 'rubygems/builder' gem_file_name = Gem::Builder.new(gemspec).build end pkg_dir = File.join(base_dir, 'pkg') file_utils.mkdir_p pkg_dir gem_file_name = File.join(base_dir, gem_file_name) file_utils.mv gem_file_name, pkg_dir end