def generate!
      return false unless self.able_to_generate
      total_width = self.column_width + self.gutter_width
      height = 18
      RVG::dpi = 100

      rvg = RVG.new((total_width.to_f/RVG::dpi).in, (height.to_f/RVG::dpi).in).viewbox(0, 0, total_width, height) do |canvas|
        canvas.background_fill = 'white'

        canvas.g do |column|
          column.rect(self.column_width - 1, height).styles(:fill => "#e8effb")
        end

        canvas.g do |baseline|
          baseline.line(0, (height - 1), total_width, (height- 1)).styles(:fill => "#e9e9e9")
        end
      end
      
      FileUtils.mkdir self.output_path unless File.exists? self.output_path
      rvg.draw.write(File.join(self.output_path, "grid.png"))
    end
def generate!
      return false unless self.able_to_generate
      total_width = self.column_width + self.gutter_width
      height = 18
      RVG::dpi = 100

      rvg = RVG.new((total_width.to_f/RVG::dpi).in, (height.to_f/RVG::dpi).in).viewbox(0, 0, total_width, height) do |canvas|
        canvas.background_fill = 'white'

        canvas.g do |column|
          column.rect(self.column_width - 1, height).styles(:fill => "#e8effb")
        end

        canvas.g do |baseline|
          baseline.line(0, (height - 1), total_width, (height- 1)).styles(:fill => "#e9e9e9")
        end
      end
      
      FileUtils.mkdir self.output_path unless File.exists? self.output_path
      rvg.draw.write(File.join(self.output_path, "grid.png"))
    end
==== Options
 * <tt>options</tt>
   * <tt>:column_width</tt> -- Width (in pixels) of current grid column
   * <tt>:gutter_width</tt> -- Width (in pixels) of current grid gutter
   * <tt>:output_path</tt> -- Output path of grid.png file
 generates (overwriting if necessary) grid.png image to be tiled in background