diff --git a/app/models/diffed_revision.rb b/app/models/diffed_revision.rb index 475a5370c..7b3305dac 100644 --- a/app/models/diffed_revision.rb +++ b/app/models/diffed_revision.rb @@ -11,7 +11,7 @@ def initialize(revision, record) def diff @diff ||= Differ.diff_by_line( after[content_attribute], - before[content_attribute] + before_content ) end @@ -42,6 +42,11 @@ def before @before ||= YAML.load(@revision.object) end + def before_content + harmonized_version = before[content_attribute].include?("\r\n") ? before[content_attribute] : before[content_attribute].gsub("\n", "\r\n") + @revision.previous.event == 'create' ? harmonized_version : before[content_attribute] + end + def after # Note: PaperTrail::Version#object will return `nil` if its event type # is `create` - but in theory, @revision.next below should always return