Class: Sprite::Styles::TemplatedCssGenerator
- Inherits:
-
Object
- Object
- Sprite::Styles::TemplatedCssGenerator
- Defined in:
- lib/sprite/styles/templated_css_generator.rb
Overview
renders css rules from template
Instance Method Summary collapse
- #extension ⇒ Object
-
#initialize(builder) ⇒ TemplatedCssGenerator
constructor
A new instance of TemplatedCssGenerator.
- #write(path, sprite_files) ⇒ Object
Constructor Details
#initialize(builder) ⇒ TemplatedCssGenerator
Returns a new instance of TemplatedCssGenerator.
7 8 9 |
# File 'lib/sprite/styles/templated_css_generator.rb', line 7 def initialize(builder) @builder = builder end |
Instance Method Details
#extension ⇒ Object
36 37 38 |
# File 'lib/sprite/styles/templated_css_generator.rb', line 36 def extension "css" end |
#write(path, sprite_files) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/sprite/styles/templated_css_generator.rb', line 11 def write(path, sprite_files) # write styles to disk File.open(File.join(Sprite.root, path), 'w') do |f| f.puts "/* Generated by the sprite gem */" sprite_files.each do |sprite_file| @builder.images.each do |image| if "#{image['name']}.#{image['format']}" == sprite_file[0] erb_path = @builder.send :style_template_source_path, image erb_template = ERB.new(File.read(erb_path)) sprites = sprite_file[1] sprites.each do |sprite| name = sprite[:name] width = sprite[:width] height = sprite[:height] left = sprite[:x] top = sprite[:y] image_path = ImageWriter.new(@builder.config).image_output_path(image['name'], image['format']) f.puts erb_template.result(binding) end end end end end end |