MonoForge

universal / rails_diff

rails_diff

Public

small plugin to display diffs of two "files"

15 filesupdated Jun 18, 2026

README

=RailsDiff

This is a small plug-in to provide an easy way to display a diff of two "files" (long strings...) as html. It uses the diff-lcs gem to calculate the diff. The default output "generator" creates table-rows in the following scheme:

| Old-Line-Nr | Old-File | New-File | Old-Line-Nr |

It applies different css classes to the elements depending on match/difference.

==Source

http://github.com/universal/rails-diff/tree/master

==Requirements

This plug-in relies on the diff-lcs gem.

==Installation

install it as any other plug-in and be sure to include the provided sample css or your own css rules to the applications-stylesheet.

==Example

in your view simply call:

<%= diff(@difftest.old, @difftest.new) %>

which results in:

<tr><td>1. </td><td><pre class="only_a">require 'digest/sha1'</pre></td><td><pre class="only_b">require 'digest/sha2'</pre></td><td>1. </td></tr> <tr><td>2. </td><td colspan="2"><pre class="match"></pre></td><td>2. </td></tr> <tr><td>3. </td><td colspan="2"><pre class="match">class User < ActiveRecord::Base</pre></td><td>3. </td></tr>

...

==Credits

diff-lcs author and the provided exampels ;)

==ToDo

Tests...

Copyright (c) 2008 [Johannes / jhed@informatik.uni-kiel.de], released under the MIT license