class Gem::Tasks


* {Sign::PGP sign:pgp}
* {Sign::Checksum sign:checksum}
* {Release release}
* {Push push}
* {Install install}
* {Console console}
* {SCM::Tag scm:tag}
* {SCM::Push scm:push}
* {SCM::Status scm:status}
* {Build::Zip build:zip}
* {Build::Tar build:tar}
* {Build::Gem build:gem}
Defines basic Rake tasks for managing and releasing projects:

def initialize(options={})

Other tags:
    Example: Configures the version tag format: -
    Example: Disables pushing `.gem` packages to [rubygems.org](rubygems.org): -
    Example: Enables building of `.gem` and `.tar.gz` packages: -

Other tags:
    Yieldparam: tasks -

Other tags:
    Yield: -

Options Hash: (**options)
  • :sign (Hash{Symbol => Boolean}) --
  • :release (Boolean) --
  • :push (Boolean) --
  • :install (Boolean) --
  • :console (Boolean) --
  • :scm (Hash{Symbol => Boolean}) --
  • :build (Hash{Symbol => Boolean}) --

Parameters:
  • options (Hash{Symbol => Hash}) --
def initialize(options={})
  build_options = options.fetch(:build,{})
  scm_options   = options.fetch(:scm,{})
  sign_options  = options.fetch(:sign,{})
  @scm   = OpenStruct.new
  @build = OpenStruct.new
  @sign  = OpenStruct.new
  if build_options
    @build.gem = (Build::Gem.new if build_options.fetch(:gem,true))
    @build.tar = (Build::Tar.new if build_options[:tar])
    @build.zip = (Build::Zip.new if build_options[:zip])
  end
  if scm_options
    @scm.status = (SCM::Status.new if scm_options.fetch(:status,true))
    @scm.tag    = (SCM::Tag.new    if scm_options.fetch(:tag,true))
    @scm.push   = (SCM::Push.new   if scm_options.fetch(:push,true))
  end
  if sign_options
    @sign.checksum = (Sign::Checksum.new if sign_options[:checksum])
    @sign.pgp      = (Sign::PGP.new      if sign_options[:pgp])
  end
  @console = (Console.new if options.fetch(:console,true))
  @install = (Install.new if options.fetch(:install,true))
  @push    = (Push.new    if options.fetch(:push,true))
  @release = (Release.new if options.fetch(:release,true))
  yield self if block_given?
end