Class: Compass::Configuration::Data

### Home Classes Methods

### In Files

- lib/compass/configuration/adapters.rb
- lib/compass/configuration/data.rb

### Parent

Object

### Methods

- ::new
- #add_import_path
- #asset_cache_buster
- #asset_host
- #discover
- #load
- #relative_assets?
- #require
- #set_all
- #watch
- #watches

### Included Modules

- Compass::Configuration::Adapters
- Compass::Configuration::Inheritance

### Class/Module Index

Quicksearch

- Compass
- Compass::BrowserSupport
- Compass::Configuration
- Compass::Configuration::Adapters
- Compass::Configuration::Data
- Compass::Configuration::Defaults
- Compass::Configuration::Inheritance
- Compass::Configuration::Inheritance::ClassMethods
- Compass::Configuration::Inheritance::ClassMethods::ArrayProxy
- Compass::Configuration::Inheritance::InstanceMethods
- Compass::Configuration::Paths
- Compass::Configuration::Watch
- Compass::Core
- Compass::Core::CanIUse
- Compass::Core::SassExtensions
- Compass::Core::SassExtensions::Functions
- Compass::Core::SassExtensions::Functions::Colors
- Compass::Core::SassExtensions::Functions::Configuration
- Compass::Core::SassExtensions::Functions::Constants
- Compass::Core::SassExtensions::Functions::CrossBrowserSupport
- Compass::Core::SassExtensions::Functions::CrossBrowserSupport::CSS2FallbackValue
- Compass::Core::SassExtensions::Functions::Display
- Compass::Core::SassExtensions::Functions::Enumerate
- Compass::Core::SassExtensions::Functions::Env
- Compass::Core::SassExtensions::Functions::Files
- Compass::Core::SassExtensions::Functions::FontFiles
- Compass::Core::SassExtensions::Functions::GradientSupport
- Compass::Core::SassExtensions::Functions::GradientSupport::Assertions
- Compass::Core::SassExtensions::Functions::GradientSupport::CSS3AngleToSVGConverter
- Compass::Core::SassExtensions::Functions::GradientSupport::ColorStop
- Compass::Core::SassExtensions::Functions::GradientSupport::Functions
- Compass::Core::SassExtensions::Functions::GradientSupport::Gradient
- Compass::Core::SassExtensions::Functions::GradientSupport::Gradient::ClassMethods
- Compass::Core::SassExtensions::Functions::GradientSupport::LinearGradient
- Compass::Core::SassExtensions::Functions::GradientSupport::RadialGradient
- Compass::Core::SassExtensions::Functions::ImageSize
- Compass::Core::SassExtensions::Functions::ImageSize::ImageProperties
- Compass::Core::SassExtensions::Functions::ImageSize::JPEG
- Compass::Core::SassExtensions::Functions::InlineImage
- Compass::Core::SassExtensions::Functions::Lists
- Compass::Core::SassExtensions::Functions::Math
- Compass::Core::SassExtensions::Functions::SassDeclarationHelper
- Compass::Core::SassExtensions::Functions::Selectors
- Compass::Core::SassExtensions::Functions::Urls
- Compass::Core::SassExtensions::Functions::Urls::FontUrl
- Compass::Core::SassExtensions::Functions::Urls::GeneratedImageUrl
- Compass::Core::SassExtensions::Functions::Urls::ImageUrl
- Compass::Core::SassExtensions::Functions::Urls::StylesheetUrl
- Compass::Error
- Compass::Frameworks
- Compass::Frameworks::Framework
- Compass::HasDeprecatedConstantsFromCore
- Compass::SassExtensions
- Compass::SassExtensions::Functions
- Compass::Util
- Sass
- Sass::Script
- Sass::Script::CrossBrowserFunctionCall
- Sass::Script::Funcall
- Sass::Script::Functions
- Sass::Script::Functions::EvaluationContext
- Sass::Script::HasSimpleCrossBrowserFunctionSupport
- Sass::Script::List
- Sass::Script::Value
- Sass::Script::Value::ArgList
- Sass::Script::Value::Base
- Sass::Script::Value::List
- Sass::Script::Value::Map
- Sass::Tree
- Sass::Tree::Node

No matching classes.

# Compass::Configuration::Data

The Compass configuration data storage class manages configuration data that comes from a variety of different sources and aggregates them together into a consistent API Some of the possible sources of configuration data:

    * Compass default project structure for stand alone projects
    * App framework specific project structures for rails, etc.
    * User supplied explicit configuration
    * Configuration data provided via the command line interface

There are two kinds of configuration data that doesn't come from the user:

1. Configuration data that is defaulted as if the user had provided it themselves. This is useful for providing defaults that the user is likely to want to edit but shouldn't have to provide explicitly when getting started

2. Configuration data that is defaulted behind the scenes because some value is required.

### Attributes

name[R]

### Public Class Methods

new(name, attr_hash = nil) click to toggle source

    # File lib/compass/configuration/data.rb, line 83
    def initialize(name, attr_hash = nil)
      raise "I need a name!" unless name
      @name = name
      set_all(attr_hash) if attr_hash
      self.top_level = self
    end

### Public Instance Methods

add_import_path(*paths) click to toggle source

    # File lib/compass/configuration/data.rb, line 98
    def add_import_path(*paths)
      paths.map!{|p| defined?(Pathname) && Pathname === p ? p.to_s : p}
      # The @added_import_paths variable works around an issue where
      # the additional_import_paths gets overwritten during parse
      @added_import_paths ||= []
      @added_import_paths += paths
      paths.each do |p|
        self.additional_import_paths << p unless additional_import_paths.include?(p)
      end
    end

asset_cache_buster(simple = nil, &block) click to toggle source

When called with a block, defines the cache buster strategy to be used. If the block returns nil or a string, then it is appended to the url as a query parameter. In this case, the returned string must not include the starting '?'. The block may also return a hash with :path and/or :query values and it will replace the original path and query string with the busted values returned. The block will be passed the root-relative url of the asset. If the block accepts two arguments, it will also be passed a File object that points to the asset on disk -- which may or may not exist. When called without a block, returns the block that was previously set.

To disable the asset cache buster:

    asset_cache_buster :none

    # File lib/compass/configuration/data.rb, line 140
    def asset_cache_buster(simple = nil, &block)
      @set_attributes ||= {}
      if block_given?
        @set_attributes[:asset_cache_buster] = true
        @asset_cache_buster = block
      elsif !simple.nil?
        if simple == :none
          @set_attributes[:asset_cache_buster] = true
          @asset_cache_buster = Proc.new {|_,_| nil}
        else
          raise ArgumentError, "Unexpected argument: #{simple.inspect}"
        end
      else
        if set?(:asset_cache_buster)
          @asset_cache_buster
        elsif inherited_data.respond_to?(:asset_cache_buster)
          inherited_data.asset_cache_buster
        end
      end
    end

asset_host(&block) click to toggle source

When called with a block, defines the asset host url to be used. The block must return a string that starts with a protocol (E.g. http). The block will be passed the root-relative url of the asset. When called without a block, returns the block that was previously set.

    # File lib/compass/configuration/data.rb, line 113
    def asset_host(&block)
      @set_attributes ||= {}
      if block_given?
        @set_attributes[:asset_host] = true
        @asset_host = block
      else
        if @asset_host
          @asset_host
        elsif inherited_data.respond_to?(:asset_host)
          inherited_data.asset_host
        end
      end
    end

discover(frameworks_dir) click to toggle source

Finds all extensions within a directory and registers them.

    # File lib/compass/configuration/data.rb, line 188
    def discover(frameworks_dir)
      (self.framework_path ||= []) << frameworks_dir
      Compass::Frameworks.discover frameworks_dir
    end

load(framework_dir) click to toggle source

    # File lib/compass/configuration/data.rb, line 182
    def load(framework_dir)
      (self.loaded_frameworks ||= []) << framework_dir
      Compass::Frameworks.register_directory framework_dir
    end

relative_assets?() click to toggle source

    # File lib/compass/configuration/data.rb, line 193
    def relative_assets?
      # the http_images_path is deprecated, but here for backwards compatibility.
      relative_assets || http_images_path == :relative
    end

require(lib) click to toggle source

Require a compass plugin and capture that it occured so that the configuration serialization works next time.

    # File lib/compass/configuration/data.rb, line 177
    def require(lib)
      (self.required_libraries ||= []) << lib
      super
    end

set_all(attr_hash) click to toggle source

    # File lib/compass/configuration/data.rb, line 90
    def set_all(attr_hash)
      attr_hash.each do |a, v|
        if self.respond_to?("#{a}=")
          self.send("#{a}=", v)
        end
      end
    end

watch(glob, &block) click to toggle source

    # File lib/compass/configuration/data.rb, line 161
    def watch(glob, &block)
      @watches ||= []
      @watches << Watch.new(glob, &block)
    end

watches() click to toggle source

    # File lib/compass/configuration/data.rb, line 166
    def watches
      if defined?(@watches)
        @watches
      elsif inherited_data.respond_to?(:watches)
        inherited_data.watches
      else
        []
      end
    end

[Validate]

Generated with the Darkfish Rdoc Generator 2.