Apps/Get-AkeoRufusAlt.ps1

function Get-AkeoRufusAlt {
    <#
        .NOTES
            Author: Aaron Parker
            Twitter: @stealthpuppy
    #>

    [OutputType([System.Management.Automation.PSObject])]
    [CmdletBinding(SupportsShouldProcess = $false)]
    param (
        [Parameter(Mandatory = $false, Position = 0)]
        [ValidateNotNull()]
        [System.Management.Automation.PSObject]
        $res = (Get-FunctionResource -AppName ("$($MyInvocation.MyCommand)".Split("-"))[1])
    )

    # Get the update feed and convert the text into an array of lines
    $UpdateFeed = Invoke-EvergreenRestMethod -Uri $res.Get.Update.Uri
    $UpdateFeedLines = $UpdateFeed -split "`n"

    # Match the version number
    $Version = (($UpdateFeedLines | Select-String -Pattern "^version" -CaseSensitive).Line -split "=")[-1].Trim()

    # For each architecture, match the download URL and return to the pipeline
    foreach ($Architecture in $res.Get.Update.Architectures.GetEnumerator()) {
        $Url = (($UpdateFeedLines | Select-String -Pattern $Architecture.Value).Line -split "=")[-1].Trim()
        [PSCustomObject] @{
            Version      = $Version
            Type         = Get-FileType -File $Url
            Architecture = $Architecture.Name
            URI          = $Url
        } | Write-Output
    }
}