A git gem for use in a gem dependencies file.
Example:
source = Gem::Source::Git.new 'rake', 'git@example:rake.git', 'rake-10.1.0', false source.specs
Attributes
Read
The name of the gem created by this git gem.
Read
Does this repository need submodules checked out too?
Read
The commit reference used for checking out this git gem.
Read & Write
When false the cache for this repository will not be updated.
Read
The git repository this gem is sourced from.
Read & Write
The directory for cache and git gem installation
Class Methods
2.3
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/source/git.rb, line 54
def initialize name, repository, reference, submodules = false
super repository
@name = name
@repository = repository
@reference = reference
@need_submodules = submodules
@remote = true
@root_dir = Gem.dir
@git = ENV['git'] || 'git'
end
Creates a new git gem source for a gems from loaded from repository at the given reference. The name is only used to track the repository back to a gem dependencies file, it has no real significance as a git repository may contain multiple gems. If submodules is true, submodules will be checked out when the gem is installed.
Instance Methods
2.3
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/source/git.rb, line 67
def <=> other
case other
when Gem::Source::Git then
0
when Gem::Source::Vendor,
Gem::Source::Lock then
-1
when Gem::Source then
1
else
nil
end
end
No documentation available
#
2.3
View on GitHub
# File tmp/rubies/ruby-2.3.8/lib/rubygems/source/git.rb, line 198
def specs
checkout
return [] unless install_dir
Dir.chdir install_dir do
Dir['{,*,*/*}.gemspec'].map do |spec_file|
directory = File.dirname spec_file
file = File.basename spec_file
Dir.chdir directory do
spec = Gem::Specification.load file
if spec then
spec.base_dir = base_dir
spec.extension_dir =
File.join base_dir, 'extensions', Gem::Platform.local.to_s,
Gem.extension_api_version, "#{name}-#{dir_shortref}"
spec.full_gem_path = File.dirname spec.loaded_from if spec
end
spec
end
end.compact
end
end
Loads all gemspecs in the repository