Colibri

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

github.com/IgorDobryn/colibri

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 © 2011 [Igor Dobryn / [email protected]], released under the MIT license