![](/img/trans.png)
[英]Ruby Gem (EventMachine) Will Not Install Using the Bundler GEM
[英]Using variables in a Ruby Gem
在Rails應用程序中使用的Ruby gem中使用可配置變量的正確方法是什么? 在此示例中,我們使用時區,它可能是一個常量,但也會使用特定於安裝的變量,例如home_city
等。
常數
可以在初始化程序中設置常量:
config/initializer/mygem.rb TIMEZONE = "Eastern Standard"
但是,如果在類變量聲明中使用,則該變量未定義。
module Foo module Bar class TickTock class_attribute :tz self.tz = "#{TIMEZONE} Time zone" # uninitialized constant Foo::Bar::TickTock::TIMEZONE
配置變量
config/initializer/mygem.rb config.x.timezone = "Eastern Standard"
module Foo module Bar class TickTock self.tz = "#{Rails.configuration.x.timezone} Time zone" # undefined method `configuration` for Foo::Bar::TickTock:Module
環境變量:我們不希望在gem本身中不使用環境變量。 我們想避免
self.tz = "#{ENV['TIMEZONE']} Time zone"
其他
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.