Module: Compass::SassExtensions::Sprites::ImageMethods

Included in:
SpriteMap
Defined in:
lib/compass/sass_extensions/sprites/image_methods.rb

Constant Summary collapse

SEPERATORS =
['_', '-']

Instance Method Summary collapse

Instance Method Details

#get_magic_selector_image(name, selector) ⇒ Object



36
37
38
39
40
41
42
43
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 36

def get_magic_selector_image(name, selector)
  SEPERATORS.each do |seperator|
    file = image_for("#{name}#{seperator}#{selector}")
    return file if !file.nil?
  end

  nil
end

#has_active?(name) ⇒ Boolean

Returns true if the image name has an active selector image

Returns:

  • (Boolean)


30
31
32
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 30

def has_active?(name)
  !get_magic_selector_image(name, 'active').nil?
end

#has_focus?(name) ⇒ Boolean

Returns true if the image name has a focus selector image

Returns:

  • (Boolean)


25
26
27
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 25

def has_focus?(name)
  !get_magic_selector_image(name, 'focus').nil?
end

#has_hover?(name) ⇒ Boolean

Returns true if the image name has a hover selector image

Returns:

  • (Boolean)


15
16
17
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 15

def has_hover?(name)
  !get_magic_selector_image(name, 'hover').nil?
end

#has_target?(name) ⇒ Boolean

Returns true if the image name has a target selector image

Returns:

  • (Boolean)


20
21
22
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 20

def has_target?(name)
  !get_magic_selector_image(name, 'target').nil?
end

#image_for(name) ⇒ Object

Fetches the Sprite::Image object for the supplied name



6
7
8
9
10
11
12
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 6

def image_for(name)
 if name.is_a?(Sass::Script::Value::String)
   name = name.value
 end
 name = name.to_s
 @images.detect { |img| img.name.downcase == name.downcase}
end

#sprite_namesObject

Return and array of image names that make up this sprite



46
47
48
# File 'lib/compass/sass_extensions/sprites/image_methods.rb', line 46

def sprite_names
  image_names.map { |f| File.basename(f, '.png') }
end