Añadir número de versión a el CSS compilado por Compass

Por ejemplo, si nuestro fichero principal se llama styles.scss, tras la compilación de Compass obtendremos un fichero llamado styles.css. Nuestro objetivo sería entonces que el fichero generado fuese del estilo styles-3.2.4.min.css, que es lo que necesitamos para el servidor de producción.

Supongamos que tenemos el número de versión actual en el fichero version.json, con esta estructura:

{
    "version": "3.2.4"
}

Lo que debemos hacer es, en el fichero config.rb, leer el contenido de este fichero y crear el nuevo fichero que incluya la versión.

require 'fileutils'
require 'json'

versionFileContent = File.read( 'version.json' )
versionParameters = JSON.parse( sVersionFileContent )

on_stylesheet_saved do |file|
    if File.exists?( file )
        filename = File.basename( file, File.extname( file ) )
        FileUtils.cp( file, css_dir + '/' + filename + '-' + versionParameters['version'] + '.min' + File.extname( file ) )
    end
end

Observando el evento on_stylesheet_saved de Compass obtenemos acceso al fichero creado, y podemos trabajar con el para componer el nombre que queramos y guardarlo.