我正在寻找基于主机名前缀的角色,但遇到了一些问题。Ruby 对我来说是新的,尽管我已经广泛地寻找解决方案,但我仍然感到困惑。
主机名如下所示:
- 工作服务器-01
- 家庭服务器-01
这是我写的:
require 'facter'
Facter.add('host_role') do
setcode do
hostname_array = Facter.value(:hostname).split('-')
first_in_array = hostname_array.first
first_in_array.each do |x|
if x =~ /^(home|work)/
role = '"#{x}" server'
end
role
end
end
我想在我的角色分配中使用变量插值,但我觉得使用 case 语句和 'when' 是不正确的。请记住,我是 Ruby 新手。
有人对我如何实现我的目标有任何想法吗?