class Licensed::Sources::Bundler::Dependency

Attributes

loaded_from[R]

Public Class Methods

new(name:, version:, path:, loaded_from:, errors: [], metadata: {}) click to toggle source
Calls superclass method Licensed::Dependency::new
# File lib/licensed/sources/bundler.rb, line 16
def initialize(name:, version:, path:, loaded_from:, errors: [], metadata: {})
  @loaded_from = loaded_from
  super name: name, version: version, path: path, errors: errors, metadata: metadata
end

Public Instance Methods

package_file() click to toggle source

Load a package manager file from the base Licensee::Projects::FsProject or from a gem specification file.

Calls superclass method
# File lib/licensed/sources/bundler.rb, line 23
def package_file
  super || spec_file
end

Private Instance Methods

spec_file() click to toggle source

Find a package manager file from the given bundler specification’s ‘loaded_from` if available.

# File lib/licensed/sources/bundler.rb, line 31
def spec_file
  return @spec_file if defined?(@spec_file)
  return @spec_file = nil unless loaded_from && File.file?(loaded_from)
  @spec_file = begin
    file = { name: File.basename(loaded_from), dir: File.dirname(loaded_from) }
    Licensee::ProjectFiles::PackageManagerFile.new(File.read(loaded_from), file)
  end
end