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