jackruby | Bonjour
Je débute en ruby et je me demande comment construire une liste d'intersection de plusieur table.
Je m'explique, j'ai une liste de groupe et j'interroge un spacewalk qui me répond quels sont les serveurs dans ces groupes.
L'intersection se passe normalement avec "&" pour une liste de 2 groupes
Code :
- irb(main):046:0> ["hostname1", "hostname2", "hostname3", "hostname4", "hostname5"] & ["hostname1", "hostname2", "hostname3"]
- => ["hostname1", "hostname2", "hostname3"]
|
Mais voila, la liste des groupes est de taille variable d'où un "each"... mais là j'en perds un peu mon latin :s
Pourriez vous m'indiquer la bonne façon de faire ?
Merci
Code :
- irb(main):035:0> liste=["GROUP1", "GROUP2"]
- => ["GROUP1", "GROUP2"]
- irb(main):036:0> spwk.list_systems_in_group(session_key, "GROUP1" ).map {|i| i["hostname"]}
- warning: peer certificate won't be verified in this SSL session
- => ["hostname1", "hostname2", "hostname3", "hostname4", "hostname5"]
- irb(main):037:0> spwk.list_systems_in_group(session_key, "GROUP1" ).map {|i| i["hostname"]}
- warning: peer certificate won't be verified in this SSL session
- => ["hostname1", "hostname2", "hostname3"]
- irb(main):041:0* res=nil
- => nil
- irb(main):042:0> liste.each { |group|
- irb(main):043:1* res &= sw_api_client.list_systems_in_group(session_key, group).map {|i| i["hostname"]}
- irb(main):044:1> }
- warning: peer certificate won't be verified in this SSL session
- warning: peer certificate won't be verified in this SSL session
- => ["GROUP1", "GROUP2"]
- irb(main):045:0> puts res
- false
- => nil
|
|