Class: Gem::Commands::ReleaseCommand
- Inherits:
-
Gem::Command
- Object
- Gem::Command
- Gem::Commands::ReleaseCommand
- Includes:
- CommandOptions, Gem::Commands, GemRelease, Helpers
- Defined in:
- lib/rubygems/commands/release_command.rb
Constant Summary collapse
- DEFAULTS =
{ :tag => false, :quiet => false, :key => '', :host => '' }
Constants included from GemRelease
Instance Attribute Summary collapse
-
#arguments ⇒ Object
readonly
Returns the value of attribute arguments.
-
#usage ⇒ Object
readonly
Returns the value of attribute usage.
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(options = {}) ⇒ ReleaseCommand
constructor
A new instance of ReleaseCommand.
Constructor Details
#initialize(options = {}) ⇒ ReleaseCommand
Returns a new instance of ReleaseCommand.
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rubygems/commands/release_command.rb', line 18 def initialize( = {}) super 'release', 'Build gem from a gemspec and push to rubygems.org', DEFAULTS.merge() option :tag, '-t', 'Create a git tag and push --tags to origin' option :quiet, '-q', 'Do not output status messages' option :key, '-k', 'Use the given API key from ~/.gem/credentials' option :host, '-h', 'Push to a gemcutter-compatible host other than rubygems.org' @arguments = "gemspec - optional gemspec file name, will use the first *.gemspec if not specified" @usage = "#{program_name} [gemspec]" end |
Instance Attribute Details
#arguments ⇒ Object (readonly)
Returns the value of attribute arguments.
16 17 18 |
# File 'lib/rubygems/commands/release_command.rb', line 16 def arguments @arguments end |
#usage ⇒ Object (readonly)
Returns the value of attribute usage.
16 17 18 |
# File 'lib/rubygems/commands/release_command.rb', line 16 def usage @usage end |
Instance Method Details
#execute ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/rubygems/commands/release_command.rb', line 30 def execute tag if [:tag] in_gemspec_dirs do build push remove end say "All is good, thanks my friend.\n" end |