class Jeweler::Commands::BuildGem

Attributes

base_dir[RW]
file_utils[RW]
gemspec_helper[RW]
version_helper[RW]

Public Class Methods

build_for(jeweler) click to toggle source
# File lib/jeweler/commands/build_gem.rb, line 29
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
new() click to toggle source
# File lib/jeweler/commands/build_gem.rb, line 6
def initialize
  self.file_utils = FileUtils
end

Public Instance Methods

run() click to toggle source
# File lib/jeweler/commands/build_gem.rb, line 10
def run
  gemspec_helper.update_version(version_helper) unless gemspec_helper.has_version?

  gemspec = gemspec_helper.parse

  if Gem::Version.new(%xgem -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