{"push_id":1087073208,"size":1,"distinct_size":1,"ref":"refs/heads/heredoc-fix","head":"9d5479ee23bbfd021773e6d1c69f2c9ee460f57a","before":"98e34ff717541426249848bac7a4eb81302fc19c","commits":[{"sha":"9d5479ee23bbfd021773e6d1c69f2c9ee460f57a","author":{"email":"339172eef30a66d05abc17ea589c9ba07c5cb98c@gmail.com","name":"Pan Thomakos"},"message":"Fix HEREDOCs in Style/Multiline*BraceLayout Cops\n\nbbatsov/rubocop#2873 introduced some changes to HEREDOC handling. While\nthese changes fixed some issues with auto-correcting and comments, they\nalso broke the handling of some HEREDOC use-cases.\n\nFor example, this code cannot be corrected in the symmetrical or same\nline style because `EOM)` on the last line would be invalid code.\n\n    foo(a,\n      b: <<-EOM\n        bar\n      EOM\n    )\n\n    # invalid\n    foo(a,\n      b: <<-EOM\n        bar\n      EOM)\n\nAdditionally, this code cannot be corrected in the symmetrical or same\nline style because `<<-EOM).to(<<-EOM2` would not be valid code.\n\n    foo(<<-EOM\n        bar\n      EOM\n    ).to(<<-EOM2\n      baz\n    EOM2\n    )\n\n    # invalid\n    foo(<<-EOM).to(<<-EOM2\n        bar\n      EOM\n      baz\n    EOM2\n    )\n\nThis change simply ignores HEREDOCs that cannot be corrected. The\ndetermination is made by checking the HEREDOC's last line.\n\nFor example, the following can be corrected because the HEREDOC ends on\na non-conflicting line.\n\n    foo(a,\n      b: {\n        c: <<-EOM\n          bar\n        EOM\n      }\n    )\n\n    # valid\n    foo(a,\n      b: {\n        c: <<-EOM\n          bar\n        EOM\n      })","distinct":true,"url":"https://api.github.com/repos/panthomakos/rubocop/commits/9d5479ee23bbfd021773e6d1c69f2c9ee460f57a"}]}