Skip to content

Instantly share code, notes, and snippets.

@domgetter
Last active November 22, 2016 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save domgetter/333783f57d2990da66df84bef331cf34 to your computer and use it in GitHub Desktop.
Save domgetter/333783f57d2990da66df84bef331cf34 to your computer and use it in GitHub Desktop.
json = {"version":"1.0.0","key":"epp-2026115917862253","time":"1479815894288","attributes":{"type":["epp_response_time_login","epp_response_time_hello","epp_response_time_info","epp_response_time_logout","epp_response_time_total"],"database":"DB"},"value":["0.060","0.442","0.294","0.005","0.801"],"host":"test.cc"}
type_value_pairs = json[:attributes][:type].zip(json[:value])
#=> [["epp_response_time_login", "0.060"],
# ["epp_response_time_hello", "0.442"],
# ["epp_response_time_info", "0.294"],
# ["epp_response_time_logout", "0.005"],
# ["epp_response_time_total", "0.801"]]
type_value_pairs.map do |type, value|
{version: json[:version],
key: json[:key],
time: json[:time],
attributes: {
type: [type],
database: json[:attributes][:database]},
value: [value],
host: json[:host]}
end
#=> [{:version=>"1.0.0", :key=>"epp-2026115917862253", :time=>"1479815894288", :attributes=>{:type=>["epp_response_time_login"], :database=>"DB"}, :value=>["0.060"], :host=>"test.cc"},
# {:version=>"1.0.0", :key=>"epp-2026115917862253", :time=>"1479815894288", :attributes=>{:type=>["epp_response_time_hello"], :database=>"DB"}, :value=>["0.442"], :host=>"test.cc"},
# {:version=>"1.0.0", :key=>"epp-2026115917862253", :time=>"1479815894288", :attributes=>{:type=>["epp_response_time_info"], :database=>"DB"}, :value=>["0.294"], :host=>"test.cc"},
# {:version=>"1.0.0", :key=>"epp-2026115917862253", :time=>"1479815894288", :attributes=>{:type=>["epp_response_time_logout"], :database=>"DB"}, :value=>["0.005"], :host=>"test.cc"},
# {:version=>"1.0.0", :key=>"epp-2026115917862253", :time=>"1479815894288", :attributes=>{:type=>["epp_response_time_total"], :database=>"DB"}, :value=>["0.801"], :host=>"test.cc"}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment