ruby で aws-sdk gem を使って S3 にアクセスするプログラムがあるのですが
EC2 で動かす分には EC2 Role を割り当てて

Aws::S3::Client.new

と引数なしで動くのですが EC2 ではない開発環境でこのプログラムを動かしたとき
引数なしの s3 クライアントの credentials は何を参照するのでしょうか

ローカルのPC上の開発環境で共通のコードを動くようにするには

if ENV['AWS_ACCESS_KEY_ID'] && ENV['AWS_SECRET_ACCESS_KEY']
  s3 = Aws::S3::Client.new(
    access_key_id: ENV['AWS_ACCESS_KEY_ID'],
    secret_access_key: ENV['AWS_SECRET_ACCESS_KEY']
  )
else
  s3 = Aws::S3::Client.new
end

のように分岐をかいて毎回キーペアをセットするしかないですか?

aws cli は

export AWS_DEFAULT_PROFILE=default
aws s3 ls

export AWS_DEFAULT_PROFILE=staging
aws s3 ls

のように環境変数にプロファイル名をいれるだけで見る先をかえてくれるのですが
ruby プログラムをこのような形で動かすことはできないでしょうか

よろしくお願いいたします