class Gem::Specification
def dependencies_to_gemfile(dependencies, group = nil)
def dependencies_to_gemfile(dependencies, group = nil) gemfile = String.new if dependencies.any? gemfile << "group :#{group} do\n" if group dependencies.each do |dependency| gemfile << " " if group gemfile << %(gem "#{dependency.name}") req = dependency.requirements_list.first gemfile << %(, "#{req}") if req gemfile << "\n" end gemfile << "end\n" if group end gemfile end
def extension_dir
def extension_dir # following instance variable is already used in original method # and that is the reason to prefix it with bundler_ and add rubocop exception @bundler_extension_dir ||= if source.respond_to?(:extension_dir_name) # rubocop:disable Naming/MemoizedInstanceVariableName unique_extension_dir = [source.extension_dir_name, File.basename(full_gem_path)].uniq.join("-") File.expand_path(File.join(extensions_dir, unique_extension_dir)) else rg_extension_dir end end
def full_gem_path
def full_gem_path if source.respond_to?(:root) File.expand_path(File.dirname(loaded_from), source.root) else rg_full_gem_path end end
def gem_dir
def gem_dir full_gem_path end
def git_version
def git_version return unless loaded_from && source.is_a?(Bundler::Source::Git) " #{source.revision[0..6]}" end
def groups
def groups @groups ||= [] end
def insecurely_materialized?
def insecurely_materialized? false end
def installation_missing?
def installation_missing? !default_gem? && !File.directory?(full_gem_path) end
def load_paths
def load_paths full_require_paths end
def loaded_from
def loaded_from if relative_loaded_from source.path.join(relative_loaded_from).to_s else rg_loaded_from end end
def lock_name
def lock_name @lock_name ||= name_tuple.lock_name end
def nondevelopment_dependencies
def nondevelopment_dependencies dependencies - development_dependencies end
def to_gemfile(path = nil)
def to_gemfile(path = nil) gemfile = String.new("source 'https://rubygems.org'\n") gemfile << dependencies_to_gemfile(nondevelopment_dependencies) unless development_dependencies.empty? gemfile << "\n" gemfile << dependencies_to_gemfile(development_dependencies, :development) end gemfile end
def validate_for_resolution
def validate_for_resolution SpecificationPolicy.new(self).validate_for_resolution end