Class: Compass::SpriteImporter

### Home Classes Methods

### In Files

- lib/compass/sprite_importer.rb

### Parent

Sass::Importers::Base

### Methods

- ::content_for_images
- ::files
- ::find_all_sprite_map_files
- ::path
- ::path_and_name
- ::sass_engine
- ::sass_options
- ::sprite_name
- ::sprite_names
- #eql?
- #find
- #find_relative
- #hash
- #key
- #mtime
- #public_url
- #to_s

### Class/Module Index

Quicksearch

- Compass
- Compass::Actions
- Compass::AppIntegration
- Compass::AppIntegration::Helpers
- Compass::AppIntegration::StandAlone
- Compass::AppIntegration::StandAlone::ConfigurationDefaults
- Compass::AppIntegration::StandAlone::Installer
- Compass::Commands
- Compass::Commands::Base
- Compass::Commands::CleanProject
- Compass::Commands::CleanProjectOptionsParser
- Compass::Commands::CompileProjectOptionsParser
- Compass::Commands::ConfigurationOptionsParser
- Compass::Commands::CreateProject
- Compass::Commands::CreateProjectOptionsParser
- Compass::Commands::Default
- Compass::Commands::DefaultOptionsParser
- Compass::Commands::ExtensionCommand
- Compass::Commands::ExtensionOptionsParser
- Compass::Commands::ExtensionsOptionParser
- Compass::Commands::Help
- Compass::Commands::HelpOptionsParser
- Compass::Commands::Imports
- Compass::Commands::InstallerCommand
- Compass::Commands::Interactive
- Compass::Commands::InteractiveOptionsParser
- Compass::Commands::ListFrameworks
- Compass::Commands::PrintVersion
- Compass::Commands::ProjectBase
- Compass::Commands::ProjectStats
- Compass::Commands::Registry
- Compass::Commands::Sprite
- Compass::Commands::SpriteOptionsParser
- Compass::Commands::StampPattern
- Compass::Commands::StampPatternOptionsParser
- Compass::Commands::StatsOptionsParser
- Compass::Commands::StructureOptionsParser
- Compass::Commands::UnpackExtension
- Compass::Commands::UpdateProject
- Compass::Commands::ValidateProject
- Compass::Commands::ValidationOptionsParser
- Compass::Commands::VersionOptionsParser
- Compass::Commands::WriteConfiguration
- Compass::Compiler
- Compass::Configuration
- Compass::Configuration::Comments
- Compass::Configuration::Data
- Compass::Configuration::FileData
- Compass::Configuration::Helpers
- Compass::Configuration::Serialization
- Compass::Deprecation
- Compass::Exec
- Compass::Exec::CommandOptionParser
- Compass::Exec::GlobalOptionsParser
- Compass::Exec::Helpers
- Compass::Exec::ProjectOptionsParser
- Compass::Exec::SubCommandUI
- Compass::FilesystemConflict
- Compass::Installers
- Compass::Installers::BareInstaller
- Compass::Installers::Base
- Compass::Installers::Manifest
- Compass::Installers::Manifest::Entry
- Compass::Installers::ManifestInstaller
- Compass::Installers::TemplateContext
- Compass::Logger
- Compass::MissingDependency
- Compass::NullLogger
- Compass::SassCompiler
- Compass::SassExtensions
- Compass::SassExtensions::Functions
- Compass::SassExtensions::Functions::SassDeclarationHelper
- Compass::SassExtensions::Functions::Sprites
- Compass::SassExtensions::Functions::Sprites::VariableReader
- Compass::SassExtensions::Sprites
- Compass::SassExtensions::Sprites::ChunkyPngEngine
- Compass::SassExtensions::Sprites::Engine
- Compass::SassExtensions::Sprites::Image
- Compass::SassExtensions::Sprites::ImageMethods
- Compass::SassExtensions::Sprites::ImageRow
- Compass::SassExtensions::Sprites::Images
- Compass::SassExtensions::Sprites::Layout
- Compass::SassExtensions::Sprites::Layout::Diagonal
- Compass::SassExtensions::Sprites::Layout::Horizontal
- Compass::SassExtensions::Sprites::Layout::Smart
- Compass::SassExtensions::Sprites::Layout::SpriteLayout
- Compass::SassExtensions::Sprites::Layout::Vertical
- Compass::SassExtensions::Sprites::LayoutMethods
- Compass::SassExtensions::Sprites::RowFitter
- Compass::SassExtensions::Sprites::SpriteMap
- Compass::SassExtensions::Sprites::SpriteMethods
- Compass::SpriteException
- Compass::SpriteImporter
- Compass::Sprites
- Compass::Sprites::Binding
- Compass::Stats
- Compass::Stats::CssFile
- Compass::Stats::SassFile
- Compass::Stats::StatsVisitor
- Compass::TestCase
- Compass::Version
- Sass
- Sass::Script
- Sass::Script::Functions
- QuickCache

No matching classes.

# Compass::SpriteImporter

### Constants

CONTENT_TEMPLATE
CONTENT_TEMPLATE_FILE
SPRITE_IMPORTER_REGEX
TEMPLATE_FOLDER
VAILD_FILE_NAME
VALID_EXTENSIONS

### 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.