Post by Peter Cooper on May 27th, 2006

Asset Management with Ruby DSLs

Jeremy Voorhis has written an interesting, and seemingly overlooked, article about asset management in Ruby and Rails. Firstly he talks about using rake to build a basic asset compiler, and then demonstrates a basic DSL (Domain Specific Language) he created to manipulate image assets in only a few lines of code. An example:

define_image_transformation 'thumbnailize' do
  crop_to '62x62', :north
end

define_image_transformation 'bronze' do
  greyscale
  lighten
  #    r     g     b     tint
  tint 0.25, 0.25, 0.25, '#706000'
end

image_task 'bronze_thumbnail' do
  from images 'images/*.jpg'
  to   build 'greyscale_thumbnail'
  remote_dirs << REMOTE_DIR[:greyscale_thumbnail]
  transformation do
    bronze
    thumbnailize
  end
end

Comments are closed.