【发布时间】:2011-12-06 18:49:27
【问题描述】:
我正在使用通过可配置 URL 访问公共 API 的 Ruby Gem。我希望在 gem 中内置一个默认值,但是能够在使用 gem 的 Rails 3 应用程序中将其作为配置或运行时选项覆盖。最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 rubygems
我正在使用通过可配置 URL 访问公共 API 的 Ruby Gem。我希望在 gem 中内置一个默认值,但是能够在使用 gem 的 Rails 3 应用程序中将其作为配置或运行时选项覆盖。最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 rubygems
您可以将配置值公开为类级属性。例如,如果您正在开发 MyConfigurableGem,您可以拥有
def self.my_database_preference=
#set override some default.
end
如果您的用户正在使用 rails 应用程序,您可以建议有一个文件 app/config/configurable_gem_override.rb 包含以下内容
MyConfigurableGem.my_database_preference = "sqlite3"
这是否回答了您的问题?
【讨论】: