Skip to content

Instantly share code, notes, and snippets.

@adampats
Created May 17, 2017 00:01
Show Gist options
  • Save adampats/4277ee7e23da8e6d55e1e04afaceaa11 to your computer and use it in GitHub Desktop.
Save adampats/4277ee7e23da8e6d55e1e04afaceaa11 to your computer and use it in GitHub Desktop.
Multi nested ruby hash array
h = [{:form_name=>nil,
:form_fields=>
[{:type=>"text", :name=>"hostname", :value=>"test\n"},
{:type=>"text", :name=>"syslog", :value=>""},
{:type=>"text", :name=>"time_server", :value=>"pool.ntp.org\n"},
{:type=>"hidden", :name=>"task", :value=>"3"},
{:type=>"hidden", :name=>"task_action", :value=>"save"},
{:type=>nil,
:name=>"resolv",
:value=>"nameserver\n\n"},
{:type=>nil, :name=>"conntrack", :value=>"65536"}]},
{:form_name=>nil,
:form_fields=>
[{:type=>"hidden",
:name=>"reg_key",
:value=>
"test\n"},
{:type=>"text", :name=>"reg_ip", :value=>""},
{:type=>"hidden", :name=>"task", :value=>"3"},
{:type=>"hidden", :name=>"task_action", :value=>"savemore"},
{:type=>nil, :name=>"managers", :value=>"1.1.1.1"},
{:type=>nil, :name=>"blocked", :value=>""}]}]
match = []
h.each do |form|
match << form[:form_fields].select { |f| f[:name] == "hostname" }[0]
end;
### Result
[{:type=>"text", :name=>"hostname", :value=>"test\n"}, nil]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment