Are you sure your code works? Now you add node_result to result for error cases only.
Also, what if you receive response[:data] == {:error => '', :out => ''} or response[:data] == {} ? You will not add any info about such node in result. I think you should mark such nodes as error nodes.