)]}'
{"recipes/volume.rb":[{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"6a4903659584be95bf01fdc8bbd62ce1f76c1b8a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  multi_backend \u003d node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027volume\u0027][\u0027multi_backend\u0027]"},{"line_number":145,"context_line":"  unless multi_backend.nil?"},{"line_number":146,"context_line":"    multi_backend.each do |_drv, options|"},{"line_number":147,"context_line":"      options.each do |optkey, optvalue|"},{"line_number":148,"context_line":"        directory optvalue do"},{"line_number":149,"context_line":"          mode \u00270755\u0027"},{"line_number":150,"context_line":"          owner node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"3a50d1a3_e4ecf2bc","line":147,"updated":"2015-07-22 21:41:01.000000000","message":"I think it would be cleaner to add the filter logic here:\n\noptions.each do |optkey, optvalue| { optkey \u003d\u003d \u0027gpfs_mount_point_base\u0027 }","commit_id":"e462b7051905473fa0d79216f72b74ae6fb42092"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"8ce69ea5b50650f9d115055a9093cb93165e0358","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  multi_backend \u003d node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027volume\u0027][\u0027multi_backend\u0027]"},{"line_number":145,"context_line":"  unless multi_backend.nil?"},{"line_number":146,"context_line":"    multi_backend.each do |_drv, options|"},{"line_number":147,"context_line":"      options.each do |optkey, optvalue|"},{"line_number":148,"context_line":"        directory optvalue do"},{"line_number":149,"context_line":"          mode \u00270755\u0027"},{"line_number":150,"context_line":"          owner node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":2,"id":"3a50d1a3_ab3472fb","line":147,"in_reply_to":"3a50d1a3_e4ecf2bc","updated":"2015-07-23 01:57:29.000000000","message":"Seems ruby don\u0027t support this kind of grammar. I think we have two alternative choices:\n\n1. options.select{|a, b| a \u003d\u003d \u0027gpfs_mount_point_base\u0027}.each do |optkey, optvalue|\n\n\n2. using \"next unless optkey \u003d\u003d \u0027gpfs_mount_point_base\u0027\" at the first line of each loop.\n\nI choose the first one in the next patch, which one do you think is better ?","commit_id":"e462b7051905473fa0d79216f72b74ae6fb42092"},{"author":{"_account_id":7128,"name":"Mark Vanderwiel","email":"vanderwl@us.ibm.com","username":"kramvan"},"change_message_id":"5926b10d561f5df715b3e6d62aa34a876a56b973","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  multi_backend \u003d node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027volume\u0027][\u0027multi_backend\u0027]"},{"line_number":145,"context_line":"  unless multi_backend.nil?"},{"line_number":146,"context_line":"    multi_backend.each do |_drv, options|"},{"line_number":147,"context_line":"      options.select { |a, _b| a \u003d\u003d \u0027gpfs_mount_point_base\u0027 }.each do |_optkey, optvalue|"},{"line_number":148,"context_line":"        directory optvalue do"},{"line_number":149,"context_line":"          mode \u00270755\u0027"},{"line_number":150,"context_line":"          owner node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"3a50d1a3_68df2cd6","line":147,"updated":"2015-07-23 13:57:46.000000000","message":"Yup, this is what I was think would be cleaner.\n\nOne minor comment, maybe something like this for better readability:\n\noptions.select { |optkey, _optvalue| optkey \u003d\u003d \u0027gpfs_mount_point_base\u0027 }.each do |_optkey, optvalue|","commit_id":"fee8ca3a07b98d67aaa00054419f0bdee6ab6a33"},{"author":{"_account_id":12927,"name":"Lan Qi song","email":"lqs933@foxmail.com","username":"lqisong"},"change_message_id":"a4cdb0e45379434a6d4b70430795edac676597df","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  multi_backend \u003d node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027volume\u0027][\u0027multi_backend\u0027]"},{"line_number":145,"context_line":"  unless multi_backend.nil?"},{"line_number":146,"context_line":"    multi_backend.each do |_drv, options|"},{"line_number":147,"context_line":"      options.select { |a, _b| a \u003d\u003d \u0027gpfs_mount_point_base\u0027 }.each do |_optkey, optvalue|"},{"line_number":148,"context_line":"        directory optvalue do"},{"line_number":149,"context_line":"          mode \u00270755\u0027"},{"line_number":150,"context_line":"          owner node[\u0027openstack\u0027][\u0027block-storage\u0027][\u0027user\u0027]"}],"source_content_type":"text/x-ruby","patch_set":3,"id":"3a50d1a3_ba3c41c0","line":147,"in_reply_to":"3a50d1a3_68df2cd6","updated":"2015-07-25 01:19:45.000000000","message":"Done","commit_id":"fee8ca3a07b98d67aaa00054419f0bdee6ab6a33"}]}
