self.package_list

in lib/puppet/provider/package/homebrew.rb [155:183]


  def self.package_list(options={})
    Puppet.debug "Listing installed packages"
    begin
      if (resource_name = options[:justme])
        result = execute([command(:brew), :list, '--versions', resource_name])
        unless result.include? resource_name
          result += execute([command(:brew), :list, '--cask', '--versions', resource_name])
        end
        if result.empty?
          Puppet.debug "Package #{resource_name} not installed"
        else
          Puppet.debug "Found package #{result}"
        end
      else
        result = execute([command(:brew), :list, '--versions'])
        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