module Compass::Core::SassExtensions::Functions::Constants
Constants
- POSITIONS
Public Instance Methods
is_position(position)
click to toggle source
# File lib/compass/core/sass_extensions/functions/constants.rb, line 3 def is_position(position) bool(position.is_a?(Sass::Script::Value::String) && !!(position.value =~ POSITIONS)) end
is_position_list(position_list)
click to toggle source
# File lib/compass/core/sass_extensions/functions/constants.rb, line 6 def is_position_list(position_list) bool(position_list.is_a?(Sass::Script::Value::List) && position_list.value.all?{|p| is_position(p).to_bool}) end
is_url(string)
click to toggle source
# File lib/compass/core/sass_extensions/functions/constants.rb, line 48 def is_url(string) if string.is_a?(Sass::Script::Value::String) is_url = !!(string.value =~ /^url\(.*\)$/) bool(is_url) else bool(false) end end
opposite_position(position)
click to toggle source
returns the opposite position of a side or corner.
# File lib/compass/core/sass_extensions/functions/constants.rb, line 10 def opposite_position(position) position = unless position.is_a?(Sass::Script::Value::List) list(position, :space) else list(position.value.dup, position.separator) end position = list(position.value.map do |pos| if pos.is_a? Sass::Script::Value::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 identifier(opposite) elsif pos.is_a? Sass::Script::Value::Number if pos.numerator_units == ["%"] && pos.denominator_units == [] number(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, position.separator) if position.value.size == 1 position.value.first else position end end