Sha256: 4ad34ad215363d3998b8402be900323063e57fd0df9e6dc55fa55b7709beede3

Contents?: true

Size: 1.21 KB

Versions: 4

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true

module Spandx
  class License
    attr_reader :attributes

    def initialize(attributes = {})
      @attributes = attributes
    end

    def id
      attributes[:licenseId]
    end

    def id=(value)
      attributes[:licenseId] = value
    end

    def name
      attributes[:name]
    end

    def name=(value)
      attributes[:name] = value
    end

    def reference
      attributes[:reference]
    end

    def reference=(value)
      attributes[:reference] = value
    end

    def deprecated_license_id?
      attributes[:isDeprecatedLicenseId]
    end

    def url
      attributes[:detailsUrl]
    end

    def url=(value)
      attributes[:detailsUrl] = value
    end

    def osi_approved?
      attributes[:isOsiApproved]
    end

    def see_also
      attributes[:seeAlso]
    end

    def reference_number
      attributes[:referenceNumber]
    end

    def reference_number=(value)
      attributes[:referenceNumber] = value
    end

    def content
      @content ||= Content.new(raw_content)
    end

    def raw_content
      @raw_content ||= (Spandx.db.read("text/#{id}.txt") || '')
    end

    def <=>(other)
      id <=> other.id
    end

    def to_s
      id
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
spandx-0.4.1 lib/spandx/license.rb
spandx-0.4.0 lib/spandx/license.rb
spandx-0.3.0 lib/spandx/license.rb
spandx-0.2.0 lib/spandx/license.rb