source/Private/RJEnvironment.ps1

function Get-RJCurrentEnvironment {
    [CmdletBinding()]
    [OutputType([System.String])]
    param()

    $envVar = $env:RJ_ENVIRONMENT
    if ($envVar -and $envVar -in @('Development', 'Production')) {
        Write-Verbose "Using environment from RJ_ENVIRONMENT variable: $envVar"
        return $envVar
    }

    Write-Verbose "Defaulting to Production environment"
    return 'Production'
}

function Set-RJEnvironment {
    [CmdletBinding(SupportsShouldProcess)]
    param(
        [Parameter(Mandatory)]
        [ValidateSet('Development', 'Production')]
        [string]$Environment
    )

    if ($PSCmdlet.ShouldProcess("Environment Variable RJ_ENVIRONMENT", "Set to '$Environment'")) {
        $env:RJ_ENVIRONMENT = $Environment
        Write-Verbose "RealmJoin environment set to: $Environment"
    }
}