Module: Sass::Features

Included in:
Sass
Defined in:
lib/sass/features.rb

Overview

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

Constant Summary collapse

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.

Set[*%w(
  global-variable-shadowing
  extend-selector-pseudoclass
  units-level-3
  at-error
  custom-property
)]

Instance Method Summary collapse

Instance Method Details

#add_feature(feature_name)

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.

Examples:

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

Parameters:

  • feature_name (String)

    The case sensitive name of the feature to to add to Sass. Must begin with a dash.



39
40
41
42
43
44
# 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) ⇒ Boolean

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

Parameters:

  • feature_name (String)

    The case sensitive name of the feature to check if it exists in this version of Sass.

Returns:

  • (Boolean)

    whether the feature of that name exists.



24
25
26
# File 'lib/sass/features.rb', line 24

def has_feature?(feature_name)
  KNOWN_FEATURES.include?(feature_name)
end