Sha256: 6711f5399e22978e39d4b5b328b17dcde0807a0e8a6e976c55c41bb441c560ca
Contents?: true
Size: 1.61 KB
Versions: 1
Compression:
Stored size: 1.61 KB
Contents
module Sprite module Styles # renders standard css style rules class CssGenerator def initialize(builder) @builder = builder end def write(path, sprite_files) # set up class_name to append to each rule sprites_class = @builder.config['sprites_class'] ? ".#{@builder.config['sprites_class']}" : "" # write styles to disk File.open(File.join(Sprite.root, path), 'w') do |f| # write stylesheet file to disk sprite_files.each do |sprite_file, sprites| sprites.each do |sprite| # if sprite name ends with some of acceptable pseudo classes, add selector for pseudoclass also # for example if the sprite name is 'image_hover' and 'hover' is among acceptable pseudo classes, # also add selector for image:hover sprite_name = sprite[:name].gsub /(.*)(_)(#{@builder.config['pseudo_classes'].join "|"})$/, '\1:\3' selector_prefix = "#{sprites_class}.#{sprite[:group]}#{@builder.config['class_separator']}" selector = selector_prefix + sprite[:name] selector += ", #{selector_prefix}#{sprite_name}" if sprite_name != sprite[:name] f.puts "#{selector} {" f.puts " background: url('/#{@builder.config['image_output_path']}#{sprite_file}') no-repeat #{sprite[:x]}px #{sprite[:y]}px;" f.puts " width: #{sprite[:width]}px;" f.puts " height: #{sprite[:height]}px;" f.puts "}" end end end end def extension "css" end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sprite-generator-0.1.10 | lib/sprite/styles/css_generator.rb |