Class/Module Index [+]

Quicksearch

Compass::SassExtensions::Functions::Constants

Constants

POSITIONS

Public Instance Methods

is_position(position) click to toggle source
# File lib/compass/sass_extensions/functions/constants.rb, line 4
def is_position(position)
  Sass::Script::Bool.new(position.is_a?(Sass::Script::String) && !!(position.value =~ POSITIONS))
end
is_position_list(position_list) click to toggle source
# File lib/compass/sass_extensions/functions/constants.rb, line 7
def is_position_list(position_list)
  Sass::Script::Bool.new(position_list.is_a?(Sass::Script::List) && position_list.value.all?{|p| is_position(p).to_bool})
end
is_url(string) click to toggle source
# File lib/compass/sass_extensions/functions/constants.rb, line 49
def is_url(string)
  if string.is_a?(Sass::Script::String)
    is_url = !!(string.value =~ /^url\(.*\)$/)
    Sass::Script::Bool.new(is_url)
  else
    Sass::Script::Bool.new(false)
  end
end
opposite_position(position) click to toggle source

returns the opposite position of a side or corner.

# File lib/compass/sass_extensions/functions/constants.rb, line 11
def opposite_position(position)
  position = unless position.is_a?(Sass::Script::List)
    Sass::Script::List.new([position], :space)
  else
    Sass::Script::List.new(position.value.dup, position.separator)
  end
  position.value.map! do |pos|
    if pos.is_a? Sass::Script::String
      opposite = case pos.value
      when "top" then "bottom"
      when "bottom" then "top"
      when "left" then "right"
      when "right" then "left"
      when "center" then "center"
      else
        Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
        pos.value
      end
      Sass::Script::String.new(opposite)
    elsif pos.is_a? Sass::Script::Number
      if pos.numerator_units == ["%"] && pos.denominator_units == []
        Sass::Script::Number.new(100-pos.value, ["%"])
      else
        Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
        pos
      end
    else
      Compass::Util.compass_warn("Cannot determine the opposite position of: #{pos}")
      pos
    end
  end
  if position.value.size == 1
    position.value.first
  else
    position
  end
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.