Parent

Class/Module Index [+]

Quicksearch

Sass::BaseEnvironment

The abstract base class for lexical environments for SassScript.

Attributes

caller[W]
content[W]
options[R]

The options passed to the Sass Engine.

selector[W]

Public Class Methods

inherited_hash_accessor(name) click to toggle source

Note: when updating this, update sass/yard/inherited_hash.rb as well.

# File lib/sass/environment.rb, line 9
def inherited_hash_accessor(name)
  inherited_hash_reader(name)
  inherited_hash_writer(name)
end
inherited_hash_reader(name) click to toggle source
# File lib/sass/environment.rb, line 14
def inherited_hash_reader(name)
  class_eval           def #{name}(name)            _#{name}(name.tr('_', '-'))          end          def _#{name}(name)            (@#{name}s && @#{name}s[name]) || @parent && @parent._#{name}(name)          end          protected :_#{name}          def is_#{name}_global?(name)            return !@parent if @#{name}s && @#{name}s.has_key?(name)            @parent && @parent.is_#{name}_global?(name)          end, __FILE__, __LINE__ + 1
end
inherited_hash_writer(name) click to toggle source
# File lib/sass/environment.rb, line 32
def inherited_hash_writer(name)
  class_eval           def set_#{name}(name, value)            name = name.tr('_', '-')            @#{name}s[name] = value unless try_set_#{name}(name, value)          end          def try_set_#{name}(name, value)            @#{name}s ||= {}            if @#{name}s.include?(name)              @#{name}s[name] = value              true            elsif @parent && !@parent.global?              @parent.try_set_#{name}(name, value)            else              false            end          end          protected :try_set_#{name}          def set_local_#{name}(name, value)            @#{name}s ||= {}            @#{name}s[name.tr('_', '-')] = value          end          def set_global_#{name}(name, value)            global_env.set_#{name}(name, value)          end, __FILE__, __LINE__ + 1
end
new(parent = nil, options = nil) click to toggle source

@param options [{Symbol => Object}] The options hash. See

{file:SASS_REFERENCE.md#sass_options the Sass options documentation}.

@param parent [Environment] See {#parent}

# File lib/sass/environment.rb, line 86
def initialize(parent = nil, options = nil)
  @parent = parent
  @options = options || (parent && parent.options) || {}
  @stack = Sass::Stack.new if @parent.nil?
end

Public Instance Methods

caller() click to toggle source

The environment of the caller of this environment's mixin or function. @return {Environment?}

# File lib/sass/environment.rb, line 101
def caller
  @caller || (@parent && @parent.caller)
end
content() click to toggle source

The content passed to this environment. This is naturally only set for mixin body environments with content passed in.

@return {[Array<Sass::Tree::Node>, Environment]?} The content nodes and

the lexical environment of the content block.
# File lib/sass/environment.rb, line 110
def content
  @content || (@parent && @parent.content)
end
global?() click to toggle source

Returns whether this is the global environment.

@return [Boolean]

# File lib/sass/environment.rb, line 95
def global?
  @parent.nil?
end
global_env() click to toggle source

The top-level Environment object.

@return [Environment]

# File lib/sass/environment.rb, line 126
def global_env
  @global_env ||= global? ? self : @parent.global_env
end
selector() click to toggle source

The selector for the current CSS rule, or nil if there is no current CSS rule.

@return [Selector::CommaSequence?] The current selector, with any

nesting fully resolved.
# File lib/sass/environment.rb, line 119
def selector
  @selector || (@caller && @caller.selector) || (@parent && @parent.selector)
end
stack() click to toggle source

The import/mixin stack.

@return [Sass::Stack]

# File lib/sass/environment.rb, line 133
def stack
  @stack || global_env.stack
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.