Module: Spritely::SassFunctions

Defined in:
lib/spritely/sass_functions.rb

Instance Method Summary collapse

Instance Method Details

#spritely_background(sprite_name, image_name) ⇒ Object



24
25
26
# File 'lib/spritely/sass_functions.rb', line 24

def spritely_background(sprite_name, image_name)
  sass_space_separated_list([spritely_url(sprite_name), spritely_position(sprite_name, image_name)])
end

#spritely_height(sprite_name, image_name = nil) ⇒ Object



42
43
44
45
46
47
48
49
50
# File 'lib/spritely/sass_functions.rb', line 42

def spritely_height(sprite_name, image_name = nil)
  image = if image_name
    find_image(sprite_name, image_name)
  else
    find_sprite_map(sprite_name)
  end

  Sass::Script::Value::Number.new(image.height, ['px'])
end

#spritely_position(sprite_name, image_name) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/spritely/sass_functions.rb', line 13

def spritely_position(sprite_name, image_name)
  image = find_image(sprite_name, image_name)

  x = Sass::Script::Value::Number.new(-image.left, image.left == 0 ? [] : ['px'])
  y = Sass::Script::Value::Number.new(-image.top, image.top == 0 ? [] : ['px'])

  sass_space_separated_list([x, y])
end

#spritely_url(sprite_name) ⇒ Object



5
6
7
8
9
# File 'lib/spritely/sass_functions.rb', line 5

def spritely_url(sprite_name)
  sprockets_context.link_asset("sprites/#{sprite_name.value}.png")

  asset_url(Sass::Script::Value::String.new("sprites/#{sprite_name.value}.png"))
end

#spritely_width(sprite_name, image_name = nil) ⇒ Object



30
31
32
33
34
35
36
37
38
# File 'lib/spritely/sass_functions.rb', line 30

def spritely_width(sprite_name, image_name = nil)
  image = if image_name
    find_image(sprite_name, image_name)
  else
    find_sprite_map(sprite_name)
  end

  Sass::Script::Value::Number.new(image.width, ['px'])
end