Sha256: b96f3dc899295bc2ff6812e82effe38c3ec386dbb4f2b36621ad1dbf9d8461b2

Contents?: true

Size: 915 Bytes

Versions: 4

Compression:

Stored size: 915 Bytes

Contents

module LicenseFinder
  class BundledGem
    attr_reader :parents, :spec, :bundler_dependency

    def initialize(spec, bundler_dependency = nil)
      @spec = spec
      @bundler_dependency = bundler_dependency
    end

    def name
      "#{dependency_name} #{dependency_version}"
    end

    def parents
      @parents ||= []
    end

    def dependency_name
      @spec.name
    end

    def dependency_version
      @spec.version.to_s
    end

    def children
      @children ||= @spec.dependencies.collect(&:name)
    end

    def determine_license
      return @spec.license if @spec.license

      license_files.map(&:license).compact.first || 'other'
    end

    def license_files
      LicenseFiles.new(@spec.full_gem_path).files
    end

    def sort_order
      dependency_name.downcase
    end

    def save_or_merge
      GemSaver.find_or_initialize_by_name(@spec.name, self).save
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
license_finder-0.8.1-java lib/license_finder/bundled_gem.rb
license_finder-0.8.1 lib/license_finder/bundled_gem.rb
license_finder-0.8.0-java lib/license_finder/bundled_gem.rb
license_finder-0.8.0 lib/license_finder/bundled_gem.rb