Sha256: 0ec524194d6b16c99bc545c2d66cfbe788e426e6d941f1456f47f55df75b102f

Contents?: true

Size: 941 Bytes

Versions: 2

Compression:

Stored size: 941 Bytes

Contents

module LicenseFinder
  class FormattedReport < DependencyReport
    private
    def unapproved_dependencies
      dependencies.reject(&:approved?)
    end

    def grouped_dependencies
      find_name = lambda do |dep|
        dep.licenses.map(&:name).sort.join ', '
      end

      dependencies.group_by(&find_name).sort_by { |_, group| group.size }.reverse
    end

    def link_to_license(license)
      link_to_maybe license.name, license.url
    end

    def link_to_dependency(dependency)
      link_to_maybe dependency.name, dependency.homepage
    end

    def link_to_maybe(text, link)
      if link && !link.empty?
        %{<a href="#{link}">#{text}</a>}
      else
        text
      end
    end

    def version_groups(dependency)
      result = "v#{dependency.version}"
      if dependency.bundler_groups.any?
        result += " (#{dependency.bundler_groups.map(&:name).join(", ")})"
      end
      result
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
license_finder-1.2 lib/license_finder/reports/formatted_report.rb
license_finder-1.2-java lib/license_finder/reports/formatted_report.rb