我在模块中定义了一个常量,并且已经向所有客户端和许多直接使用此常量的客户端公开了该常量。
"AzureWebJobs": { "extensions": { "ServiceBus": { "ConnectionStrings": { "Primary": "[your connection string here]" } } } }
现在的问题是,我想根据条件向FRUITS_MAP添加一个哈希。
module MyModule
module Contants
FRUITS_MAP = [
{
id: 1,
name: 'Apple'
},
{
id: 2,
name: 'Coconut'
}
].freeze
end
end
注意:我无权访问所有客户端,也不想在所有客户端中强制进行更改,但我想有条件地向FRUITS_MAP添加一个元素。
对于启用了“ Mango”功能的客户端X,FRUITS_MAP应该包含3个元素,但是对于禁用了“ Mango”功能的客户端Y,FRUITS_MAP中应该仅包含2个元素。我该如何实现?
答案 0 :(得分:1)
如果条件为true,则可以通过MyModule::Contants::FRUITS_MAP
和所需的其他对象的串联返回一个新数组:
p MyModule::Contants::FRUITS_MAP + [{ id: 5, name: 'Mango' }] if Account.enabled_feature?('Mango')
# [{:id=>1, :name=>"Apple"}, {:id=>2, :name=>"Coconut"}, {:id=>5, :name=>"Mango"}]