self.package_list

in lib/puppet/provider/package/brewcask.rb [141:165]


  def self.package_list(options={})
    Puppet.debug "Listing installed packages"
    begin
      if (resource_name = options[:justme])
        result = execute([command(:brew), :list, '--cask', '--versions', resource_name])
        if result.empty?
          Puppet.debug "Package #{resource_name} not installed"
        else
          Puppet.debug "Found package #{result}"
        end
      else
        result = execute([command(:brew), :list, '--cask', '--versions'])
      end
      list = result.lines.map {|line| name_version_split(line)}
    rescue Puppet::ExecutionFailure => detail
      raise Puppet::Error, "Could not list packages: #{detail}"
    end

    if options[:justme]
      return list.shift
    else
      return list
    end
  end