Module: Gem::VersionOption
- Included in:
- Commands::BuildCommand, Commands::CheckCommand, Commands::ContentsCommand, Commands::DependencyCommand, Commands::FetchCommand, Commands::InstallCommand, Commands::OpenCommand, Commands::OutdatedCommand, Commands::PristineCommand, Commands::RdocCommand, Commands::SpecificationCommand, Commands::UninstallCommand, Commands::UnpackCommand, Commands::UpdateCommand, Commands::YankCommand, QueryUtils
- 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.
-
#get_platform_from_requirements(requirements) ⇒ Object
Extract platform given on the command line.
Instance Method Details
#add_platform_option(task = command, *wrap) ⇒ Object
Add the –platform option to the option parser.
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/rubygems/version_option.rb', line 18 def add_platform_option(task = command, *wrap) OptionParser.accept Gem::Platform do |value| if value == Gem::Platform::RUBY 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] 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.
42 43 44 45 46 47 48 |
# File 'lib/rubygems/version_option.rb', line 42 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.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/rubygems/version_option.rb', line 53 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, | # Allow handling for multiple --version operators if [:version] && ![:version].none? [:version].concat([value]) else [:version] = value end explicit_prerelease_set = ![:explicit_prerelease].nil? [:explicit_prerelease] = false unless explicit_prerelease_set [:prerelease] = value.prerelease? unless [:explicit_prerelease] end end |