# File lib/bundler/source.rb, line 302 def self.from_lock(options) new(options.merge("path" => options.delete("remote"))) end
# File lib/bundler/source.rb, line 278 def initialize(options) @options = options @glob = options["glob"] || DEFAULT_GLOB @allow_cached = false @allow_remote = false if options["path"] @path = Pathname.new(options["path"]) @path = @path.expand_path(Bundler.root) unless @path.relative? end @name = options["name"] @version = options["version"] end
# File lib/bundler/source.rb, line 413 def cache(spec) unless path.expand_path(Bundler.root).to_s.index(Bundler.root.to_s) == 0 Bundler.ui.warn " * #{spec.name} at `#{path}` will not be cached." end end
# File lib/bundler/source.rb, line 298 def cached! @allow_cached = true end
# File lib/bundler/source.rb, line 321 def eql?(o) o.instance_of?(Path) && path.expand_path(Bundler.root) == o.path.expand_path(Bundler.root) && version == o.version end
# File lib/bundler/source.rb, line 401 def install(spec) Bundler.ui.info "Using #{spec.name} (#{spec.version}) from #{to_s} " # Let's be honest, when we're working from a path, we can't # really expect native extensions to work because the whole point # is to just be able to modify what's in that path and go. So, let's # not put ourselves through the pain of actually trying to generate # the full gem. Installer.new(spec).generate_bin end
# File lib/bundler/source.rb, line 333 def load_spec_files index = Index.new expanded_path = path.expand_path(Bundler.root) if File.directory?(expanded_path) Dir["#{expanded_path}/#{@glob}"].each do |file| spec = Bundler.load_gemspec(file) if spec spec.loaded_from = file.to_s spec.source = self index << spec end end if index.empty? && @name && @version index << Gem::Specification.new do |s| s.name = @name s.source = self s.version = Gem::Version.new(@version) s.platform = Gem::Platform::RUBY s.summary = "Fake gemspec for #{@name}" s.relative_loaded_from = "#{@name}.gemspec" s.authors = ["no one"] if expanded_path.join("bin").exist? executables = expanded_path.join("bin").children executables.reject!{|p| File.directory?(p) } s.executables = executables.map{|c| c.basename.to_s } end end end else raise PathError, "The path `#{expanded_path}` does not exist." end index end
# File lib/bundler/source.rb, line 371 def local_specs(*) @local_specs ||= load_spec_files end
# File lib/bundler/source.rb, line 329 def name File.basename(path.expand_path(Bundler.root).to_s) end
# File lib/bundler/source.rb, line 294 def remote! @allow_remote = true end
Generated with the Darkfish Rdoc Generator 2.