# module Sass::Features

Provides `Sass.has_feature?` which allows for simple feature detection by providing a feature name.

### Constants

KNOWN_FEATURES

  This is the set of features that can be detected.

  When this is updated, the documentation of `feature-exists()` should be updated as well.

### Public Instance Methods

add_feature(feature_name) click to toggle source

Add a feature to Sass. Plugins can use this to easily expose their availability to end users. Plugins must prefix their feature names with a dash to distinguish them from official features.

@example

    Sass.add_feature("-import-globbing")
    Sass.add_feature("-math-cos")

@param feature_name [String] The case sensitive name of the feature to

    to add to Sass. Must begin with a dash.

    # File lib/sass/features.rb, line 39
    def add_feature(feature_name)
      unless feature_name[0] == ?-
        raise ArgumentError.new("Plugin feature names must begin with a dash")
      end
      KNOWN_FEATURES << feature_name
    end

has_feature?(feature_name) click to toggle source

Check if a feature exists by name. This is used to implement the Sass function `feature-exists($feature)`

@param feature_name [String] The case sensitive name of the feature to

    check if it exists in this version of Sass.

@return [Boolean] whether the feature of that name exists.

    # File lib/sass/features.rb, line 24
    def has_feature?(feature_name)
      KNOWN_FEATURES.include?(feature_name)
    end