Class: Licensee::Project
- Inherits:
-
Object
- Object
- Licensee::Project
- Defined in:
- lib/licensee/project.rb,
lib/licensee/project_file.rb,
lib/licensee/project_files/readme.rb,
lib/licensee/project_files/license_file.rb,
lib/licensee/project_files/package_info.rb
Direct Known Subclasses
Defined Under Namespace
Classes: File, LicenseFile, PackageInfo, Readme
Instance Attribute Summary collapse
-
#detect_packages ⇒ Object
(also: #detect_packages?)
readonly
Returns the value of attribute detect_packages.
-
#detect_readme ⇒ Object
(also: #detect_readme?)
readonly
Returns the value of attribute detect_readme.
Instance Method Summary collapse
-
#initialize(detect_packages: false, detect_readme: false) ⇒ Project
constructor
A new instance of Project.
-
#license ⇒ Object
Returns the matching License instance if a license can be detected.
- #license_file ⇒ Object
- #matched_file ⇒ Object
- #package_file ⇒ Object
- #readme_file ⇒ Object (also: #readme)
Constructor Details
#initialize(detect_packages: false, detect_readme: false) ⇒ Project
Returns a new instance of Project.
9 10 11 12 |
# File 'lib/licensee/project.rb', line 9 def initialize(detect_packages: false, detect_readme: false) @detect_packages = detect_packages @detect_readme = detect_readme end |
Instance Attribute Details
#detect_packages ⇒ Object (readonly) Also known as: detect_packages?
Returns the value of attribute detect_packages.
5 6 7 |
# File 'lib/licensee/project.rb', line 5 def detect_packages @detect_packages end |
#detect_readme ⇒ Object (readonly) Also known as: detect_readme?
Returns the value of attribute detect_readme.
5 6 7 |
# File 'lib/licensee/project.rb', line 5 def detect_readme @detect_readme end |
Instance Method Details
#license ⇒ Object
Returns the matching License instance if a license can be detected
15 16 17 |
# File 'lib/licensee/project.rb', line 15 def license @license ||= matched_file && matched_file.license end |
#license_file ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/licensee/project.rb', line 23 def license_file return @license_file if defined? @license_file @license_file = begin license_file = license_from_file { |n| LicenseFile.name_score(n) } return license_file unless license_file && license_file.license # Special case LGPL, which actually lives in LICENSE.lesser, per the # license instructions. See https://git.io/viwyK lesser = if license_file.license.gpl? license_from_file { |file| LicenseFile.lesser_gpl_score(file) } end lesser || license_file end end |
#matched_file ⇒ Object
19 20 21 |
# File 'lib/licensee/project.rb', line 19 def matched_file @matched_file ||= (license_file || readme || package_file) end |
#package_file ⇒ Object
50 51 52 53 54 55 56 57 |
# File 'lib/licensee/project.rb', line 50 def package_file return unless detect_packages? return @package_file if defined? @package_file @package_file = begin content, name = find_file { |n| PackageInfo.name_score(n) } PackageInfo.new(content, name) if content && name end end |
#readme_file ⇒ Object Also known as: readme
39 40 41 42 43 44 45 46 47 |
# File 'lib/licensee/project.rb', line 39 def readme_file return unless detect_readme? return @readme if defined? @readme @readme = begin content, name = find_file { |n| Readme.name_score(n) } content = Readme.license_content(content) Readme.new(content, name) if content && name end end |