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={})
- 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