Class: Gemterms::Component

Inherits:
Object
  • Object
show all
Defined in:
lib/gemterms/project.rb

Overview

A licenced component that is part of an overall project.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, version, licenses) ⇒ Component

Returns a new instance of Component.



7
8
9
10
11
# File 'lib/gemterms/project.rb', line 7

def initialize(name, version, licenses)
  @name = name
  @version = version
  @licenses = licenses
end

Instance Attribute Details

#licensesObject (readonly)

Returns the value of attribute licenses.



5
6
7
# File 'lib/gemterms/project.rb', line 5

def licenses
  @licenses
end

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/gemterms/project.rb', line 5

def name
  @name
end

#versionObject (readonly)

Returns the value of attribute version.



5
6
7
# File 'lib/gemterms/project.rb', line 5

def version
  @version
end

Instance Method Details

#licensed?true, false

license

Returns:

  • (true, false)

    if this component has at least one “known”



15
16
17
# File 'lib/gemterms/project.rb', line 15

def licensed?
  !@licenses.nil? && @licenses.detect { |l| !l.unknown }
end

#multiple?true, false

licenses.

Returns:

  • (true, false)

    if this component has at least two “known”



21
22
23
# File 'lib/gemterms/project.rb', line 21

def multiple?
  !@licenses.nil? && (@licenses.count { |l| !l.unknown } > 1)
end