Sha256: cb55a2173f90a771cdb9805e04b9e9422cff44f77e0c5a98bd7b53d1b16778e4

Contents?: true

Size: 646 Bytes

Versions: 6

Compression:

Stored size: 646 Bytes

Contents

require 'json'

module LicenseFinder
  class Bower < PackageManager
    def current_packages
      bower_output.map do |package|
        BowerPackage.new(package, logger: logger)
      end
    end

    def self.package_management_command
      "bower"
    end

    private

    def bower_output
      command = 'bower list --json -l action'
      output, success = Dir.chdir(project_path) { capture(command) }
      raise "Command '#{command}' failed to execute: #{output}" unless success

      JSON(output)
        .fetch("dependencies", {})
        .values
    end

    def package_path
      project_path.join('bower.json')
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
license_finder-2.1.2 lib/license_finder/package_managers/bower.rb
license_finder-2.1.1 lib/license_finder/package_managers/bower.rb
license_finder-2.1.0 lib/license_finder/package_managers/bower.rb
license_finder-2.1.0.rc9 lib/license_finder/package_managers/bower.rb
license_finder-2.1.0.rc8 lib/license_finder/package_managers/bower.rb
license_finder-2.1.0.rc7 lib/license_finder/package_managers/bower.rb