Chef::Provider::Package
カスタムサブクラスの変数を、それが呼び出されたレシピに何らかの方法で「返す」必要があるため、後で同じレシピでこの変数を使用できます。
カスタムChef::Resource::Package
サブクラス属性と適切なセッター/ゲッター ラッパーをset_or_return
関数で追加しようとしました。Chef::Provider::Package
サブクラスからこの属性を正常に読み書きできますが、レシピからこの属性にアクセスしようとするとnil
値しか表示されません。これは、次のレシピで説明できます。
a = apt_package "bzip2" do
action :install
end
# this won't work, a.version would be nil
log "bzip package version is #{a.version}"
ただし、次のように設定されlib/chef/provider/package/apt.rb
ていることがわかります。@current_resource.version
@current_resource.version(installed_version)
同じレシピからプロバイダーによって作成されたインスタンスの任意の属性 (version
この例では) を読み取る正しい方法は何ですか?Chef::Resource::AptPackage
apt_package