- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (38)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (8)
- 2_6_3 (0)
- What's this?
The Specification class contains the information for a Gem. Typically defined in a .gemspec file or a Rakefile, and looks like this:
Gem::Specification.new do |s| s.name = 'example' s.version = '0.1.0' s.licenses = ['MIT'] s.summary = "This is an example!" s.description = "Much longer explanation of the example!" s.authors = ["Ruby Coder"] s.email = 'rubycoder@example.com' s.files = ["lib/example.rb"] s.homepage = 'https://rubygems.org/gems/example' end
Starting in RubyGems 2.0, a Specification can hold arbitrary metadata. See #metadata for restrictions on the format and size of metadata items you may add to a specification.
Constants
DateTimeFormat = # :nodoc: /\A (\d{4})-(\d{2})-(\d{2}) (\s+ \d{2}:\d{2}:\d{2}\.\d+ \s* (Z | [-+]\d\d:\d\d) )? \Z/x
Dupable = { }
LOAD_CACHE = {}
TODAY = Time.utc(today.year, today.month, today.day)
MARSHAL_FIELDS = { # :nodoc: -1 => 16, 1 => 16, 2 => 16, 3 => 17, 4 => 18, }
SPECIFICATION_VERSION_HISTORY = { # :nodoc: -1 => ['(RubyGems versions up to and including 0.7 did not have versioned specifications)'], 1 => [ 'Deprecated "test_suite_file" in favor of the new, but equivalent, "test_files"', '"test_file=x" is a shortcut for "test_files=[x]"' ], 2 => [ 'Added "required_rubygems_version"', 'Now forward-compatible with future versions', ], 3 => [ 'Added Fixnum validation to the specification_version' ], 4 => [ 'Added sandboxed freeform metadata to the specification version.' ] }
CURRENT_SPECIFICATION_VERSION = 4
NONEXISTENT_SPECIFICATION_VERSION = -1
Attributes
[RW] | specification_version |
The Gem::Specification version of this gemspec. Do not set this, it is set automatically when the gem is packaged. |
[RW] | rubyforge_project |
The rubyforge project this gem lives under. i.e. RubyGems’ rubyforge_project is “rubygems”. This option is deprecated. |
[R] | required_rubygems_version |
The RubyGems version required by this gem |
[R] | required_ruby_version |
The version of Ruby required by this gem |
[W] | original_platform |
Allows deinstallation of gems with legacy platforms. |
[W] | default_executable |
Sets the default executable for this gem. Deprecated: You must now specify the executable name to Gem.bin_path. |
[RW] | autorequire |
Autorequire was used by old RubyGems to automatically require a file. Deprecated: It is neither supported nor functional. |
[RW] | activated? |
True when this gemspec has been activated. This attribute is not persisted. |
[RW] | activated |
True when this gemspec has been activated. This attribute is not persisted. |
[RW] | metadata |
:attr_accessor: metadata The metadata holds extra data for this gem that may be useful to other consumers and is settable by gem authors without requiring an update to the rubygems software. Metadata items have the following restrictions:
To add metadata for the location of a issue tracker: s.metadata = { "issue_tracker" => "https://example/issues" } |
[RW] | signing_key |
The key used to sign this gem. See Gem::Security for details. |
[RW] | post_install_message |
A message that gets displayed after the gem is installed. Usage: spec.post_install_message = "Thanks for installing!" |
[RW] | homepage |
The URL of this gem’s home page Usage: spec.homepage = 'http://rake.rubyforge.org' |
[RW] |
A contact email address (or addresses) for this gem Usage: spec.email = 'john.jones@example.com' spec.email = ['jack@example.com', 'jill@example.com'] |
|
[R] | description |
A long description of this gem The description should be more detailed than the summary. Usage: spec.description = <<-EOF Rake is a Make-like program implemented in Ruby. Tasks and dependencies are specified in standard Ruby syntax. EOF |
[RW] | cert_chain |
The certificate chain used to sign this gem. See Gem::Security for details. |
[RW] | bindir |
The path in the gem for executable scripts. Usually ‘bin’ Usage: spec.bindir = 'bin' |
[R] | summary |
A short summary of this gem’s description. Displayed in `gem list -d`. The #description should be more detailed than the summary. Usage: spec.summary = "This is a small summary of my gem" |
[RW] | rubygems_version |
The version of RubyGems used to create this gem. Do not set this, it is set automatically when the gem is packaged. |
[W] | require_paths |
Paths in the gem to add to $LOAD_PATH when this gem is activated. See also #require_paths If you have an extension you do not need to add “ext” to the require path, the extension build process will copy the extension files into “lib” for you. The default value is “lib” Usage: # If all library files are in the root directory... spec.require_path = '.' |
[R] | version |
This gem’s version. The version string can contain numbers and periods, such as 1.0.0. A gem is a ‘prerelease’ gem if the version has a letter in it, such as 1.0.0.pre. Usage: spec.version = '0.4.1' |
[RW] | name |
This gem’s name. Usage: spec.name = 'rake' |