class Gemterms::Project
A collection of components to be evaluated as a set.
Attributes
components[R]
Public Class Methods
new()
click to toggle source
# File lib/gemterms/project.rb, line 50 def initialize @components = [] end
Public Instance Methods
<<(component)
click to toggle source
# File lib/gemterms/project.rb, line 31 def <<(component) @components << component end
components_for_license(license)
click to toggle source
# File lib/gemterms/project.rb, line 46 def components_for_license(license) @components.select { |c| c.licenses.include?(license) } end
count()
click to toggle source
@return [ int ] number of components in the project
# File lib/gemterms/project.rb, line 36 def count @components.length end
count_unlicensed()
click to toggle source
@return [ int ] count of components in this projects that have “Unknown” licenses
# File lib/gemterms/project.rb, line 42 def count_unlicensed @components.count { |c| c.licensed? } end
licenses(include_unknown = true)
click to toggle source
# File lib/gemterms/project.rb, line 54 def licenses(include_unknown = true) result = @components.map { |c| c.licenses }.flatten result.reject! { |l| l.unknown? } unless include_unknown result end
unique_licenses(include_unknown = true)
click to toggle source
@param [ true, false ] include_unknown If true, unknown licenses are included in the returned list. Defaults to true.
@return [ Array<License> ] array of unique licenses in use by this project.
# File lib/gemterms/project.rb, line 65 def unique_licenses(include_unknown = true) self.licenses.uniq end