Gem::Specification#platform=
# File tmp/rubies/ruby-4.0.0/lib/rubygems/specification.rb, line 463
def platform=(platform)
@original_platform = platform
case platform
when Gem::Platform::CURRENT then
@new_platform = Gem::Platform.local
@original_platform = @new_platform.to_s
when Gem::Platform then
@new_platform = platform
# legacy constants
when nil, Gem::Platform::RUBY then
@new_platform = Gem::Platform::RUBY
when "mswin32" then # was Gem::Platform::WIN32
@new_platform = Gem::Platform.new "x86-mswin32"
when "i586-linux" then # was Gem::Platform::LINUX_586
@new_platform = Gem::Platform.new "x86-linux"
when "powerpc-darwin" then # was Gem::Platform::DARWIN
@new_platform = Gem::Platform.new "ppc-darwin"
else
@new_platform = Gem::Platform.new platform
end
@platform = @new_platform.to_s
end
The platform this gem runs on.
This is usually Gem::Platform::RUBY or Gem::Platform::CURRENT.
Most gems contain pure Ruby code; they should simply leave the default value in place. Some gems contain C (or other) code to be compiled into a Ruby “extension”. The gem should leave the default value in place unless the code will only compile on a certain type of system. Some gems consist of pre-compiled code (“binary gems”). It’s especially important that they set the platform attribute appropriately. A shortcut is to set the platform to Gem::Platform::CURRENT, which will cause the gem builder to set the platform to the appropriate value for the system on which the build is being performed.
If this attribute is set to a non-default value, it will be included in the filename of the gem when it is built such as: nokogiri-1.6.0-x86-mingw32.gem
Usage:
spec.platform = Gem::Platform.local