Sha256: fcba126b9e275301f29cc1d59dfde817679a6f063febc3b85972e26fc388bcf4

Contents?: true

Size: 948 Bytes

Versions: 1

Compression:

Stored size: 948 Bytes

Contents

class Licensee
  class Licenses
    class << self

      # Returns an array of Licensee::License instances
      def list
        @licenses ||= begin
          licenses = []
          names.each { |name| licenses.push License.new(name) }
          licenses
        end
      end

      # Given a license name, attempt to return a matching Licensee::License instance
      def find(name)
        list.find { |l| l.name.downcase == name.downcase }
      end

      # Path to vendored licenses
      def base
        @base ||= File.expand_path "../../vendor/choosealicense.com/_licenses", File.dirname(__FILE__)
      end

      private

      # Returns a list of potential license names, as vendored
      def names
        @names ||= begin
          names = Dir.entries(base)
          names.map! { |l| File.basename(l, ".txt").downcase }
          names.reject! { |l| l =~ /^\./ || l.nil? }
          names
        end
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
licensee-3.0.0 lib/licensee/licenses.rb