# File lib/bundler/source/path.rb, line 48 def self.from_lock(options) new(options.merge("path" => options.delete("remote"))) end
# File lib/bundler/source/path.rb, line 16 def initialize(options) @options = options.dup @glob = options["glob"] || DEFAULT_GLOB @allow_cached = false @allow_remote = false @root_path = options["root_path"] || Bundler.root if options["path"] @path = Pathname.new(options["path"]) @path = expand(@path) unless @path.relative? end @name = options["name"] @version = options["version"] # Stores the original path. If at any point we move to the # cached directory, we still have the original path to copy from. @original_path = @path end
# File lib/bundler/source/path.rb, line 111 def app_cache_dirname name end
# File lib/bundler/source/path.rb, line 85 def cache(spec, custom_path = nil) app_cache_path = app_cache_path(custom_path) return unless Bundler.feature_flag.cache_all? return if expand(@original_path).to_s.index(root_path.to_s + "/") == 0 unless @original_path.exist? raise GemNotFound, "Can't cache gem #{version_message(spec)} because #{self} is missing!" end FileUtils.rm_rf(app_cache_path) FileUtils.cp_r("#{@original_path}/.", app_cache_path) FileUtils.touch(app_cache_path.join(".bundlecache")) end
# File lib/bundler/source/path.rb, line 43 def cached! @local_specs = nil @allow_cached = true end
# File lib/bundler/source/path.rb, line 67 def eql?(other) return unless other.class == self.class expanded_original_path == other.expanded_original_path && version == other.version end
# File lib/bundler/source/path.rb, line 119 def expanded_original_path @expanded_original_path ||= expand(original_path) end
# File lib/bundler/source/path.rb, line 63 def hash [self.class, expanded_path, version].hash end
# File lib/bundler/source/path.rb, line 79 def install(spec, options = {}) print_using_message "Using #{version_message(spec)} from #{self}" generate_bin(spec, :disable_extensions => true) nil # no post-install message end
# File lib/bundler/source/path.rb, line 99 def local_specs(*) @local_specs ||= load_spec_files end
# File lib/bundler/source/path.rb, line 75 def name File.basename(expanded_path.to_s) end
# File lib/bundler/source/path.rb, line 38 def remote! @local_specs = nil @allow_remote = true end
# File lib/bundler/source/path.rb, line 103 def specs if has_app_cache? @path = app_cache_path @expanded_path = nil # Invalidate end local_specs end
Generated with the Darkfish Rdoc Generator 2.