lib/compass/sass_extensions/sprites/sprite_map.rb in compass-sourcemaps-0.12.3.sourcemaps.a4836f1 vs lib/compass/sass_extensions/sprites/sprite_map.rb in compass-sourcemaps-0.12.4.sourcemaps.a4836f1
- old
+ new
@@ -1,87 +1,87 @@
-module Compass
- module SassExtensions
- module Sprites
- class SpriteMap < Sass::Script::Literal
- attr_accessor :image_names, :path, :name, :map, :kwargs
- attr_accessor :images, :width, :height, :engine
-
- include SpriteMethods
- include ImageMethods
- include LayoutMethods
-
-
- # Initialize a new sprite object from a relative file path
- # the path is relative to the <tt>images_path</tt> confguration option
- def self.from_uri(uri, context, kwargs)
- uri = uri.value
- path, name = Compass::SpriteImporter.path_and_name(uri)
- files = Compass::SpriteImporter.files(uri)
- sprites = files.map do |sprite|
- relative_name(sprite)
- end
- new(sprites, path, name, context, kwargs)
- end
-
- def self.relative_name(sprite)
- sprite = File.expand_path(sprite)
- Compass.configuration.sprite_load_path.each do |path|
- path = File.expand_path(path)
- if sprite.include?(path)
- return sprite.gsub("#{path}/", "")
- end
- end
- end
-
- def initialize(sprites, path, name, context, kwargs)
- @image_names = sprites
- @path = path
- @name = name
- @kwargs = kwargs
- @kwargs['cleanup'] ||= Sass::Script::Bool.new(true)
- @kwargs['layout'] ||= Sass::Script::String.new('vertical')
- @images = nil
- @width = nil
- @height = nil
- @engine = nil
- @evaluation_context = context
- validate!
- compute_image_metadata!
- end
-
- def inspect
- puts 'images'
- @images.each do |img|
- puts img.file
- end
- puts "options"
- @kwargs.each do |k,v|
- puts "#{k}:#{v}"
- end
- end
-
- def to_s(kwargs = self.kwargs)
- sprite_url(self).value
- end
-
- def respond_to?(meth)
- super || @evaluation_context.respond_to?(meth)
- end
-
- def method_missing(meth, *args, &block)
- if @evaluation_context.respond_to?(meth)
- @evaluation_context.send(meth, *args, &block)
- else
- super
- end
- end
-
- private
-
- def modulize
- @modulize ||= Compass::configuration.sprite_engine.to_s.scan(/([^_.]+)/).flatten.map {|chunk| "#{chunk[0].chr.upcase}#{chunk[1..-1]}" }.join
- end
-
- end
- end
- end
+module Compass
+ module SassExtensions
+ module Sprites
+ class SpriteMap < Sass::Script::Literal
+ attr_accessor :image_names, :path, :name, :map, :kwargs
+ attr_accessor :images, :width, :height, :engine
+
+ include SpriteMethods
+ include ImageMethods
+ include LayoutMethods
+
+
+ # Initialize a new sprite object from a relative file path
+ # the path is relative to the <tt>images_path</tt> confguration option
+ def self.from_uri(uri, context, kwargs)
+ uri = uri.value
+ path, name = Compass::SpriteImporter.path_and_name(uri)
+ files = Compass::SpriteImporter.files(uri)
+ sprites = files.map do |sprite|
+ relative_name(sprite)
+ end
+ new(sprites, path, name, context, kwargs)
+ end
+
+ def self.relative_name(sprite)
+ sprite = File.expand_path(sprite)
+ Compass.configuration.sprite_load_path.each do |path|
+ path = File.expand_path(path)
+ if sprite.include?(path)
+ return sprite.gsub("#{path}/", "")
+ end
+ end
+ end
+
+ def initialize(sprites, path, name, context, kwargs)
+ @image_names = sprites
+ @path = path
+ @name = name
+ @kwargs = kwargs
+ @kwargs['cleanup'] ||= Sass::Script::Bool.new(true)
+ @kwargs['layout'] ||= Sass::Script::String.new('vertical')
+ @images = nil
+ @width = nil
+ @height = nil
+ @engine = nil
+ @evaluation_context = context
+ validate!
+ compute_image_metadata!
+ end
+
+ def inspect
+ puts 'images'
+ @images.each do |img|
+ puts img.file
+ end
+ puts "options"
+ @kwargs.each do |k,v|
+ puts "#{k}:#{v}"
+ end
+ end
+
+ def to_s(kwargs = self.kwargs)
+ sprite_url(self).value
+ end
+
+ def respond_to?(meth)
+ super || @evaluation_context.respond_to?(meth)
+ end
+
+ def method_missing(meth, *args, &block)
+ if @evaluation_context.respond_to?(meth)
+ @evaluation_context.send(meth, *args, &block)
+ else
+ super
+ end
+ end
+
+ private
+
+ def modulize
+ @modulize ||= Compass::configuration.sprite_engine.to_s.scan(/([^_.]+)/).flatten.map {|chunk| "#{chunk[0].chr.upcase}#{chunk[1..-1]}" }.join
+ end
+
+ end
+ end
+ end
end
\ No newline at end of file