Module: Gem::VersionOption
- Included in:
- Commands::BuildCommand, Commands::CheckCommand, Commands::ContentsCommand, Commands::DependencyCommand, Commands::ExecCommand, 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 |
# File 'lib/rubygems/version_option.rb', line 18 def add_platform_option(task = command, *wrap) Gem::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.
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 69 70 71 72 |
# File 'lib/rubygems/version_option.rb', line 52 def add_version_option(task = command, *wrap) Gem::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 |