Sha256: 76c0caf28e3831467220996745057615c0a15ccbd1f2579d7fbaa12ea2ab7f6c

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

module LicenseFinder
  class BowerPackage < Package
    def initialize(bower_module)
      @bower_module = bower_module
      @module_metadata = bower_module.fetch("pkgMeta", Hash.new)
    end

    def name
      module_metadata.fetch("name", nil)
    end

    def version
      module_metadata.fetch("version", nil)
    end

    def summary
      module_metadata.fetch("description", nil)
    end

    def description
      module_metadata.fetch("readme", nil)
    end

    def homepage
      module_metadata.fetch("homepage", nil)
    end

    def children
      [] # no way to determine child deps from bower (maybe?)
    end

    def groups
      [] # no concept of dev/test groups in bower (maybe?)
    end

    private

    attr_reader :bower_module
    attr_reader :module_metadata

    def install_path
      bower_module.fetch("canonicalDir", nil)
    end

    def license_from_spec
      license = module_metadata.fetch("licenses", []).first

      if license.is_a? Hash
        license = license.fetch("type", nil)
      end

      if license.nil?
        license = module_metadata.fetch("license", nil)

        if license.is_a? Hash
          license = license.fetch("type", nil)
        end
      end

      license
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
license_finder-0.9.5.1-java lib/license_finder/package_managers/bower_package.rb
license_finder-0.9.5.1 lib/license_finder/package_managers/bower_package.rb