Module: Gem::VersionOption
- Included in:
- Commands::CheckCommand, Commands::ContentsCommand, Commands::DependencyCommand, Commands::FetchCommand, Commands::InstallCommand, Commands::OpenCommand, Commands::OutdatedCommand, Commands::PristineCommand, Commands::QueryCommand, Commands::RdocCommand, Commands::SpecificationCommand, Commands::UninstallCommand, Commands::UnpackCommand, Commands::UpdateCommand, Commands::YankCommand
- Defined in:
- lib/rubygems/version_option.rb
Overview
Mixin methods for –version and –platform Gem::Command options.
Instance Method Summary collapse
-
#add_platform_option(task = command, *wrap) ⇒ Object
Add the –platform option to the option parser.
-
#add_prerelease_option(*wrap) ⇒ Object
Add the –prerelease option to the option parser.
-
#add_version_option(task = command, *wrap) ⇒ Object
Add the –version option to the option parser.
Instance Method Details
#add_platform_option(task = command, *wrap) ⇒ Object
Add the –platform option to the option parser.
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rubygems/version_option.rb', line 17 def add_platform_option(task = command, *wrap) OptionParser.accept Gem::Platform do |value| if value == Gem::Platform::RUBY then value else Gem::Platform.new value end end add_option('--platform PLATFORM', Gem::Platform, "Specify the platform of gem to #{task}", *wrap) do |value, | unless [:added_platform] then Gem.platforms = [Gem::Platform::RUBY] [:added_platform] = true end Gem.platforms << value unless Gem.platforms.include? value end end |
#add_prerelease_option(*wrap) ⇒ Object
Add the –prerelease option to the option parser.
41 42 43 44 45 46 47 |
# File 'lib/rubygems/version_option.rb', line 41 def add_prerelease_option(*wrap) add_option("--[no-]prerelease", "Allow prerelease versions of a gem", *wrap) do |value, | [:prerelease] = value [:explicit_prerelease] = true end end |
#add_version_option(task = command, *wrap) ⇒ Object
Add the –version option to the option parser.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/rubygems/version_option.rb', line 52 def add_version_option(task = command, *wrap) OptionParser.accept Gem::Requirement do |value| Gem::Requirement.new(*value.split(/\s*,\s*/)) end add_option('-v', '--version VERSION', Gem::Requirement, "Specify version of gem to #{task}", *wrap) do |value, | [:version] = value explicit_prerelease_set = ![:explicit_prerelease].nil? [:explicit_prerelease] = false unless explicit_prerelease_set [:prerelease] = value.prerelease? unless [:explicit_prerelease] end end |