2013-02-14 111 views
1

我正在尋找將運行時參數傳遞給我的Ruby代碼。我有一個Java背景,在大多數情況下,如果我想重寫一個配置,我會使用一個具有理智默認值的系統屬性。設置Ruby運行時配置參數?

例如,如果我寫了一個測試對一個REST API爲localhost,然後要運行它針對的集成環境,並要調整的基礎URL:

$ rake -Cbaseurl=https://i-env.company.com/tbse/ test 

是否有一個等同於系統特性在Ruby中? 有沒有人們使用的標準模式?

我知道如何使用/加載YAML配置以及參考環境變量。

+0

根據您的示例,不要忘記命令行參數。 [Trollop](http://trollop.rubyforge.org/)是一個很好的寶石。 – maerics 2013-02-14 22:42:25

回答

1

來自UNIX世界的Ruby,其中這是命令行參數和環境變量。

命令行參數應該用於通常更改並且依賴運行的事物。這些都是詳細標誌,輸出文件或目標URL。用Ruby stdlib OptionParser訪問它們。

環境變量適用於變化較小的情況,通常是跨應用程序。像系統可執行文件路徑($PATH)。使用內置的Ruby env對象來訪問這些對象。

對於其他的東西,比如配置,使用配置文件。在Ruby中,這些通常是YAML格式。使用Ruby stdlib yaml這些庫。