module Compass::Configuration

Constants

ARRAY_ATTRIBUTES
ARRAY_ATTRIBUTE_OPTIONS
ATTRIBUTES
RUNTIME_READONLY_ATTRIBUTES

Public Class Methods

add_configuration_property(name, comment = nil, &default) click to toggle source

Registers a new configuration property. Extensions can use this to add new configuration options to compass.

@param [Symbol] name The name of the property. @param [String] comment A comment for the property. @param [Proc] default A method to calculate the default value for the property.

The proc is executed in the context of the project's configuration data.
# File lib/compass/configuration.rb, line 21
      def add_configuration_property(name, comment = nil, &default)
        ATTRIBUTES << name
        if comment.is_a?(String)
          unless comment[0..0] == "#"
            comment = "# #{comment}"
          end
          unless comment[-1..-1] == "\n"
            comment = comment + "\n"
          end
          Data.class_eval <<-COMMENT
          def comment_for_#{name}
          #{comment.inspect}
          end
          COMMENT
        end
        Data.send(:define_method, :"default_#{name}", &default) if default
        Data.inherited_accessor(name)
        if name.to_s =~ /dir|path/
          Data.strip_trailing_separator(name)
        end
      end
attributes_for_directory(dir_name, http_dir_name = dir_name) click to toggle source
# File lib/compass/configuration.rb, line 5
def attributes_for_directory(dir_name, http_dir_name = dir_name)
  [
    "#{dir_name}_dir",
    "#{dir_name}_path",
    ("http_#{http_dir_name}_dir" if http_dir_name),
    ("http_#{http_dir_name}_path" if http_dir_name)
  ].compact.map{|a| a.to_sym}
end
remove_configuration_property(name) click to toggle source

For testing purposes

# File lib/compass/configuration.rb, line 44
def remove_configuration_property(name)
  ATTRIBUTES.delete(name)
end