Is it possible to execute a ruby script in the asset pipeline?

I’m working on an idea and I was wondering if it was even possible…

We are frequentlly tweaking images as the style of our website changes. Usually we need to slightly alter the color of a layer in the image so that it matches our css. This means editing an image in photoshop, making the change and then exporting to jpeg. This process gets old very fast. What I’d like to do is to save those images in a raw format and precompile them in the same way I precompile my other assets.

Example: logo.jpeg.rb precompiles to logo.jpeg, where the logo.jpeg.rb is a ruby script that modifies a layered image file _logo.tiff (or perhaps _logo.psd) using RMagick. In this example, _logo.tiff is the “raw” image, logo.jpeg.rb is the script which processes _logo.tiff and which is replaced by logo.jpeg after pre compilation. The end result is a dynamic image- a logo whose colors change to match our css.

Is this even possible?

I know at least you can use .erb, because I have made a *.js.erb file before.


I’m not sure exactly how, but given that you can add pipeline items to compress css, run pngcrush on images etc, I would have thought you could define your own processing which would do the image transformation you require.