gemspec(options = {})
public
:category: Gem Dependencies DSL
Loads dependencies from a gemspec file.
options include:
name: |
The name portion of the gemspec file.
Defaults to searching for any gemspec file in
the current directory.
gemspec name: 'my_gem'
|
path: |
The path the gemspec lives in.
Defaults to the current directory:
gemspec 'my_gem', path: 'gemspecs', name: 'my_gem'
|
development_group: |
The group to add
development dependencies to. By default this is :development. Only one group may be
specified.
|
# File lib/rubygems/request_set/gem_dependency_api.rb, line 637
def gemspec(options = {})
name = options.delete(:name) || '{,*}'
path = options.delete(:path) || '.'
development_group = options.delete(:development_group) || :development
spec = find_gemspec name, path
groups = gem_group spec.name, {}
self_dep = Gem::Dependency.new spec.name, spec.version
add_dependencies groups, [self_dep]
add_dependencies groups, spec.runtime_dependencies
@dependencies[spec.name] = Gem::Requirement.source_set
spec.dependencies.each do |dep|
@dependencies[dep.name] = dep.requirement
end
groups << development_group
add_dependencies groups, spec.development_dependencies
@vendor_set.add_vendor_gem spec.name, path
gem_requires spec.name, options
end