class Sass::Tree::ImportNode - sass-3.4.14 Documentation

# class 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_file[W]

Sets the imported file.

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

Calls superclass method

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

### Public Instance Methods

css_import?() click to toggle source

Returns whether or not this import should emit a CSS @import declaration

@return [Boolean] Whether or not this is a simple CSS @import declaration.

    # File lib/sass/tree/import_node.rb, line 34
    def css_import?
      if @imported_filename =~ /\.css$/
        @imported_filename
      elsif imported_file.is_a?(String) && imported_file =~ /\.css$/
        imported_file
      end
    end

imported_file() click to toggle source

Returns the imported file.

@return [Sass::Engine] @raise [Sass::SyntaxError] If no file could be found to import.

    # File lib/sass/tree/import_node.rb, line 27
    def imported_file
      @imported_file ||= import
    end

invisible?() click to toggle source

    # File lib/sass/tree/import_node.rb, line 21
    def invisible?; to_s.empty?; end

### Private Instance Methods

import() click to toggle source

    # File lib/sass/tree/import_node.rb, line 44
    def import
      paths = @options[:load_paths]

      if @options[:importer]
        f = @options[:importer].find_relative(
          @imported_filename, @options[:filename], options_for_importer)
        return f if f
      end

      paths.each do |p|
        f = p.find(@imported_filename, options_for_importer)
        return f if f
      end

      lines = ["File to import not found or unreadable: #{@imported_filename}."]

      if paths.size == 1
        lines << "Load path: #{paths.first}"
      elsif !paths.empty?
        lines << "Load paths:\n  #{paths.join("\n  ")}"
      end
      raise SyntaxError.new(lines.join("\n"))
    rescue SyntaxError => e
      raise SyntaxError.new(e.message, :line => line, :filename => @filename)
    end

options_for_importer() click to toggle source

    # File lib/sass/tree/import_node.rb, line 70
    def options_for_importer
      @options.merge(:_from_import_node => true)
    end