configatron を使用して設定値を保存しています。スコープがクラスのメソッド内にある場合を除いて、問題なく構成値にアクセスできます。
Ruby 2.0.0でconfigatron 3.0.0-rc1を使用しています
「tc_tron.rb」という単一のファイルで使用しているソースを次に示します。
require 'configatron'
class TcTron
def simple(url)
puts "-------entering simple-------"
p url
p configatron
p configatron.url
p configatron.database.server
puts "-------finishing simple-------"
end
end
# setup the configatron. I assume this is a singleton
configatron.url = "this is a url string"
configatron.database.server = "this is a database server name"
# this should print out all the stuff in the configatron
p configatron
p configatron.url
p configatron.database.server
# create the object and call the simple method.
a = TcTron.new
a.simple("called URL")
# this should print out all the stuff in the configatron
p configatron
p configatron.url
p configatron.database.server
コードを実行すると、
{:url=>"this is a url string", :database=>{:server=>"this is a database server name"}}
"this is a url string"
"this is a database server name"
-------entering simple-------
"called URL"
{}
{}
{}
-------finishing simple-------
{:url=>"this is a url string", :database=>{:server=>"this is a database server name"}}
"this is a url string"
"this is a database server name"
「entering simple」と「finishing simple」の出力の間で、configatron シングルトンを取得できない理由がわかりません。
私は何が欠けていますか?