module Compass::SassExtensions::Functions::CrossBrowserSupport

Public Instance Methods

css2_fallback(value, css2_value) click to toggle source
# File lib/compass/sass_extensions/functions/cross_browser_support.rb, line 66
def css2_fallback(value, css2_value)
  CSS2FallbackValue.new(value, css2_value)
end
prefix(prefix, *objects) click to toggle source
# File lib/compass/sass_extensions/functions/cross_browser_support.rb, line 46
def prefix(prefix, *objects)
  prefix = prefix.value if prefix.is_a?(Sass::Script::String)
  prefix = prefix[1..-1] if prefix[0] == -
  if objects.size > 1
    self.prefix(prefix, Sass::Script::List.new(objects, :comma))
  else
    object = objects.first
    if object.is_a?(Sass::Script::List)
      Sass::Script::List.new(object.value.map{|e|
        self.prefix(prefix, e)
      }, object.separator)
    elsif object.respond_to?(:supports?) && object.supports?(prefix) && object.respond_to?(:"to_#{prefix}")
      object.options = options
      object.send(:"to_#{prefix}")
    else
      object
    end
  end
end
prefixed(prefix, *args) click to toggle source

Check if any of the arguments passed require a vendor prefix.

# File lib/compass/sass_extensions/functions/cross_browser_support.rb, line 30
def prefixed(prefix, *args)
  aspect = prefix.value.sub(/^-/,"")
  needed = args.any?{|a| a.respond_to?(:supports?) && a.supports?(aspect)}
  Sass::Script::Bool.new(needed)
end