したがって、カピストラーノの deploy.rb スクリプトは次のように開始されます。これはかなり正常だと思います。
require 'capistrano/ext/multistage'
require 'nokogiri'
require 'curb'
require 'json'
# override capistrano defaults
set :use_sudo, false
set :normalize_asset_timestamps, false
# some constant of mine
set :my_constant, "foo_bar"
後で、次のように、名前空間内の関数またはタスクで定数にアクセスできます。
namespace :mycompany do
def some_function()
run "some_command #{my_constant}"
end
desc <<-DESC
some task description
DESC
task :some_task do
run "some_command #{my_constant}"
end
end
ただし、クラスで定数を使用すると、次のようになります。
namespace :mycompany do
class SomeClass
def self.some_static_method()
run "some_command #{my_constant}"
end
end
end
次のエラーで失敗します。
/config/deploy.rb:120:in `some_static_method': undefined local variable or method `my_constant' for #<Class:0x000000026234f8>::SomeClass (NameError)
私は何を間違っていますか?? ありがとう