Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

1# frozen_string_literal: true
2
3class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2]
4 disable_ddl_transaction!
5
6 def up
7 public_boosts = Status.find_by_sql(<<-SQL.squish)
8 SELECT boost.id
9 FROM statuses AS boost
10 LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id
11 WHERE
12 boost.id > 101746055577600000
13 AND (boost.local = TRUE OR boost.uri IS NULL)
…lines 14–26 unchanged (13 lines)

After

1# frozen_string_literal: true
2
3class RemoveBoostsWideningAudience < ActiveRecord::Migration[5.2]
4 disable_ddl_transaction!
5
6 def up
7 public_boosts = Status.find_by_sql(<<~SQL.squish)
8 SELECT boost.id
9 FROM statuses AS boost
10 LEFT JOIN statuses AS boosted ON boost.reblog_of_id = boosted.id
11 WHERE
12 boost.id > 101746055577600000
13 AND (boost.local = TRUE OR boost.uri IS NULL)
…lines 14–26 unchanged (13 lines)

Before

program
comment "# frozen_string_literal: true"
class
class "class"
constant "RemoveBoostsWideningAudience"
superclass
< "<"
element_reference
scope_resolution
constant "ActiveRecord"
:: "::"
constant "Migration"
[ "["
float "5.2"
] "]"
body_statement
call
identifier "disable_ddl_transaction!"
method
def "def"
identifier "up"
body_statement
assignment
identifier "public_boosts"
= "="
call
constant "Status"
. "."
identifier "find_by_sql"
argument_list
( "("
call
heredoc_beginning "<<-SQL"
. "."
identifier "squish"
) ")"
heredoc_body
heredoc_content "\n SELECT boost.id\n FROM statuses AS boost\n LE"...
heredoc_end "SQL"
call
constant "RemovalWorker"
. "."
identifier "push_bulk"
argument_list
( "("
call
identifier "public_boosts"
. "."
identifier "pluck"
argument_list
( "("
simple_symbol ":id"
) ")"
) ")"
end "end"
method
def "def"
identifier "down"
body_statement
call
identifier "raise"
argument_list
scope_resolution
constant "ActiveRecord"
:: "::"
constant "IrreversibleMigration"
end "end"
end "end"

After

program
comment "# frozen_string_literal: true"
class
class "class"
constant "RemoveBoostsWideningAudience"
superclass
< "<"
element_reference
scope_resolution
constant "ActiveRecord"
:: "::"
constant "Migration"
[ "["
float "5.2"
] "]"
body_statement
call
identifier "disable_ddl_transaction!"
method
def "def"
identifier "up"
body_statement
assignment
identifier "public_boosts"
= "="
call
constant "Status"
. "."
identifier "find_by_sql"
argument_list
( "("
call
heredoc_beginning "<<~SQL"
. "."
identifier "squish"
) ")"
heredoc_body
heredoc_content "\n SELECT boost.id\n FROM statuses AS boost\n LE"...
heredoc_end "SQL"
call
constant "RemovalWorker"
. "."
identifier "push_bulk"
argument_list
( "("
call
identifier "public_boosts"
. "."
identifier "pluck"
argument_list
( "("
simple_symbol ":id"
) ")"
) ")"
end "end"
method
def "def"
identifier "down"
body_statement
call
identifier "raise"
argument_list
scope_resolution
constant "ActiveRecord"
:: "::"
constant "IrreversibleMigration"
end "end"
end "end"