Fix output for multiline column comments (#779)
Closes #778
If a column comment includes the newline character, the newline character
would be "printed" into the annotation block resulting in a line break
and an uncommented line.
For example, for the following table:
```
create_table "users", force: :cascade do |t|
t.string "name", comment: "This is a comment.\nWith two lines!"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
end
```
annotating the model with the `--with-comment` flag will result in:
```
\# == Schema Information
\#
\# Table name: users
\#
\# id :bigint not null, primary key
\# name(This is a comment.
With two lines!) :string
\# created_at :datetime not null
\# updated_at :datetime not null
\#
```
This uncommented line would result in invalid Ruby and cause the file to
no longer be valid.
This fix replaces the newline character with an escaped version, so the
output will look more like:
```
\# == Schema Information
\#
\# Table name: users
\#
\# id :bigint not null, primary key
\# name(This is a comment.\nWith two lines!):string
\# created_at :datetime not null
\# updated_at :datetime not null
\#
```
Showing
Please
register
or
sign in
to comment