Module: Gem::VersionOption
- 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 |
#get_platform_from_requirements(requirements) ⇒ Object
Extract platform given on the command line
79 80 81 |
# File 'lib/rubygems/version_option.rb', line 79 def get_platform_from_requirements(requirements) Gem.platforms[1].to_s if requirements.key? :added_platform end |