Licensee has an extensive command line interface. See the command line documentation for more information.
license = Licensee.license "/path/to/a/project"
=> #<Licensee::License name="MIT" match=0.9842154131847726>
license.key
=> "mit"
license.name
=> "MIT License"
license.meta["source"]
=> "https://spdx.org/licenses/MIT.html"
license.meta["description"]
=> "A permissive license that is short and to the point. It lets people do anything with your code with proper attribution and without warranty."
license.meta["permissions"]
=> ["commercial-use","modifications","distribution","private-use"]
Consider handling multiple conflicting license matches. See what we look at.
project = Licensee.project "/path/to/a/project"
project.licenses
=> # an array of all matching licenses
If you wish to scan private GitHub repositories, or are hitting API rate limits, you can configure the embedded Octokit client using environment variables, for example:
OCTOKIT_ACCESS_TOKEN=abc123 licensee https://github.com/benbalter/licensee
Octokit can also be configured using standard module-level configuration:
# see https://github.com/octokit/octokit.rb#configuring-module-defaults
Octokit.configure do |c|
c.access_token = "<your 40 char token>"
end
license = Licensee.license "https://github.com/benbalter/licensee"
You can gather more information by working with the project object, and the top level Licensee class.
Licensee::VERSION # The Licensee version
Licensee.licenses # All the licenses Licensee knows about
project = Licensee.project "/path/to/a/project" # Get a Project (Git checkout or just local Filesystem) (post 6.0.0)
project.license # The matched license
project.matched_file # Object for the particular file containing the apparent license
project.matched_file.filename # Its filename
project.matched_file.confidence # The confidence level in the license matching
project.matched_file.content # The content of your license file
project.license.content # The Open Source License text it matched against