Class Index [+]

Quicksearch

Sass::Tree::ImportNode

A static node that wraps the {Sass::Tree} for an `@import`ed file. It doesn’t have a functional purpose other than to add the `@import`ed file to the backtrace if an error occurs.

Attributes

imported_filename[R]

The name of the imported file as it appears in the Sass document.

@return [String]

Public Class Methods

new(imported_filename) click to toggle source

@param imported_filename [String] The name of the imported file

    # File lib/sass/tree/import_node.rb, line 13
13:       def initialize(imported_filename)
14:         @imported_filename = imported_filename
15:         super(nil)
16:       end

Public Instance Methods

cssize(*args) click to toggle source

@see Node#cssize

    # File lib/sass/tree/import_node.rb, line 42
42:       def cssize(*args)
43:         super.first
44:       end
full_filename() click to toggle source

Returns the resolved name of the imported file, as returned by {Sass::Files#find_file_to_import}.

@return [String] The filename of the imported file.

  This is an absolute path if the file is a `".sass"` or `".scss"` file.

@raise [Sass::SyntaxError] if `filename` ends in `”.sass”` or `”.scss”`

  and no corresponding Sass file could be found.
    # File lib/sass/tree/import_node.rb, line 27
27:       def full_filename
28:         @full_filename ||= import
29:       end
invisible?() click to toggle source
    # File lib/sass/tree/import_node.rb, line 18
18:       def invisible?; to_s.empty?; end
to_sass(tabs = 0, opts = {}) click to toggle source

@see Node#to_sass

    # File lib/sass/tree/import_node.rb, line 32
32:       def to_sass(tabs = 0, opts = {})
33:         "#{'  ' * tabs}@import #{@imported_filename}\n"
34:       end
to_scss(tabs = 0, opts = {}) click to toggle source

@see Node#to_scss

    # File lib/sass/tree/import_node.rb, line 37
37:       def to_scss(tabs = 0, opts = {})
38:         "#{'  ' * tabs}@import \"#{@imported_filename}\";\n"
39:       end

Protected Instance Methods

_cssize(*args) click to toggle source

@see Node#_cssize

    # File lib/sass/tree/import_node.rb, line 49
49:       def _cssize(*args)
50:         super.children
51:       rescue Sass::SyntaxError => e
52:         e.modify_backtrace(:filename => children.first.filename)
53:         e.add_backtrace(:filename => @filename, :line => @line)
54:         raise e
55:       end
_perform(environment) click to toggle source

Returns a static DirectiveNode if this is importing a CSS file, or parses and includes the imported Sass file.

@param environment [Sass::Environment] The lexical environment containing

  variable and mixin values
    # File lib/sass/tree/import_node.rb, line 62
62:       def _perform(environment)
63:         return DirectiveNode.new("@import url(#{full_filename})") if full_filename =~ /\.css$/
64:         super
65:       end
perform!(environment) click to toggle source

Parses the imported file and runs the dynamic Sass for it.

@param environment [Sass::Environment] The lexical environment containing

  variable and mixin values
    # File lib/sass/tree/import_node.rb, line 71
71:       def perform!(environment)
72:         environment.push_frame(:filename => @filename, :line => @line)
73:         options = @options.dup
74:         options.delete(:syntax)
75:         root = Sass::Files.tree_for(full_filename, options)
76:         @template = root.template
77:         self.children = root.children
78:         self.children = perform_children(environment)
79:       rescue Sass::SyntaxError => e
80:         e.modify_backtrace(:filename => full_filename)
81:         e.add_backtrace(:filename => @filename, :line => @line)
82:         raise e
83:       ensure
84:         environment.pop_frame
85:       end

Private Instance Methods

import() click to toggle source
    # File lib/sass/tree/import_node.rb, line 95
95:       def import
96:         Sass::Files.find_file_to_import(@imported_filename, import_paths)
97:       rescue Exception => e
98:         raise SyntaxError.new(e.message, :line => self.line, :filename => @filename)
99:       end
import_paths() click to toggle source
    # File lib/sass/tree/import_node.rb, line 89
89:       def import_paths
90:         paths = (@options[:load_paths] || []).dup
91:         paths.unshift(File.dirname(@options[:filename])) if @options[:filename]
92:         paths
93:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.