Parent

Class/Module Index [+]

Quicksearch

Compass::SpriteImporter

Public Class Methods

content_for_images(uri, name, skip_overrides = false) click to toggle source

Generates the Sass for this sprite file

# File lib/compass/sprite_importer.rb, line 111
def self.content_for_images(uri, name, skip_overrides = false)
  binder = Compass::Sprites::Binding.new(:name => name, :uri => uri, :skip_overrides => skip_overrides, :sprite_names => sprite_names(uri), :files => files(uri))
  CONTENT_TEMPLATE.result(binder.get_binding)
end
files(uri) click to toggle source

Returns the Glob of image files for the uri

# File lib/compass/sprite_importer.rb, line 81
def self.files(uri)
  Compass.configuration.sprite_load_path.compact.each do |folder|
    files = Sass::Util.glob(File.join(folder, uri)).sort
    next if files.empty?
    return files
  end

  path = Compass.configuration.sprite_load_path.to_a.join(', ')
  raise Compass::SpriteException, %{No files were found in the load path matching "#{uri}". Your current load paths are: #{path}}
end
find_all_sprite_map_files(path) click to toggle source

finds all sprite files

# File lib/compass/sprite_importer.rb, line 16
def self.find_all_sprite_map_files(path)
  hex = "[0-9a-f]"
  glob = "*-s#{hex*10}{#{VALID_EXTENSIONS.join(",")}}"
  Sass::Util.glob(File.join(path, "**", glob))
end
path(uri) click to toggle source

The on-disk location of this sprite

# File lib/compass/sprite_importer.rb, line 75
def self.path(uri)
  path, _ = path_and_name(uri)
  path
end
path_and_name(uri) click to toggle source
# File lib/compass/sprite_importer.rb, line 60
def self.path_and_name(uri)
  if uri =~ SPRITE_IMPORTER_REGEX
    [$1, $3]
  else
    raise Compass::Error, "invalid sprite path"
  end
end
sass_engine(uri, name, importer, options) click to toggle source

Returns a Sass::Engine for this sprite object

# File lib/compass/sprite_importer.rb, line 105
def self.sass_engine(uri, name, importer, options)
  content = content_for_images(uri, name, options[:skip_overrides])
  Sass::Engine.new(content, sass_options(uri, importer, options))
end
sass_options(uri, importer, options) click to toggle source

Returns the sass_options for this sprite

# File lib/compass/sprite_importer.rb, line 100
def self.sass_options(uri, importer, options)
  options.merge!(:filename => uri.gsub(%{\*/},"*\\/"), :syntax => :scss, :importer => importer)
end
sprite_name(uri) click to toggle source

Name of this spite

# File lib/compass/sprite_importer.rb, line 69
def self.sprite_name(uri)
  _, name = path_and_name(uri)
  name
end
sprite_names(uri) click to toggle source

Returns an Array of image names without the file extension

# File lib/compass/sprite_importer.rb, line 93
def self.sprite_names(uri)
  files(uri).collect do |file|
    File.basename(file, '.png')
  end
end

Public Instance Methods

eql?(other) click to toggle source
# File lib/compass/sprite_importer.rb, line 41
def eql?(other)
  other.class == self.class
end
find(uri, options) click to toggle source
# File lib/compass/sprite_importer.rb, line 22
def find(uri, options)
  if uri =~ SPRITE_IMPORTER_REGEX
    return self.class.sass_engine(uri, self.class.sprite_name(uri), self, options)
  end
  nil
end
find_relative(uri, base, options) click to toggle source
# File lib/compass/sprite_importer.rb, line 29
def find_relative(uri, base, options)
  nil
end
hash() click to toggle source
# File lib/compass/sprite_importer.rb, line 37
def hash
  self.class.name.hash
end
key(uri, options={}) click to toggle source
# File lib/compass/sprite_importer.rb, line 51
def key(uri, options={})
  [self.class.name + ":sprite:" + File.dirname(File.expand_path(uri)), File.basename(uri)]
end
mtime(uri, options) click to toggle source
# File lib/compass/sprite_importer.rb, line 45
def mtime(uri, options)
  self.class.files(uri).sort.inject(Time.at(0)) do |max_time, file|
    (t = File.mtime(file)) > max_time ? t : max_time
  end
end
public_url(*args) click to toggle source
# File lib/compass/sprite_importer.rb, line 55
def public_url(*args)
  nil
end
to_s() click to toggle source
# File lib/compass/sprite_importer.rb, line 33
def to_s
  self.class.name
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.