Class: Sass::Stack::Frame

Inherits:
Object
  • Object
show all
Defined in:
.ruby-sass/lib/sass/stack.rb

Overview

A single stack frame.

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Constructor Details

#initialize(filename, line, type, name = nil) ⇒ Frame

Returns a new instance of Frame



35
36
37
38
39
40
# File '.ruby-sass/lib/sass/stack.rb', line 35

def initialize(filename, line, type, name = nil)
  @filename = filename
  @line = line
  @type = type
  @name = name
end

Constructor Details

#initialize(filename, line, type, name = nil) ⇒ Frame

Returns a new instance of Frame



35
36
37
38
39
40
# File '.ruby-sass/lib/sass/stack.rb', line 35

def initialize(filename, line, type, name = nil)
  @filename = filename
  @line = line
  @type = type
  @name = name
end

Instance Attribute Details

#filenameString (readonly)

The filename of the file in which this stack frame was created.

Returns:

  • (String)


11
12
13
# File '.ruby-sass/lib/sass/stack.rb', line 11

def filename
  @filename
end

#lineString (readonly)

The line number on which this stack frame was created.

Returns:

  • (String)


16
17
18
# File '.ruby-sass/lib/sass/stack.rb', line 16

def line
  @line
end

#nameString? (readonly)

The name of the stack frame. For mixin frames, this is the mixin name; otherwise, it's `nil`.

Returns:

  • (String?)


33
34
35
# File '.ruby-sass/lib/sass/stack.rb', line 33

def name
  @name
end

#typeSymbol? (readonly)

The type of this stack frame. This can be `:import`, `:mixin`, or `:base`.

`:base` indicates that this is the bottom-most frame, meaning that it represents a single line of code rather than a nested context. The stack will only ever have one base frame, and it will always be the most deeply-nested frame.

Returns:

  • (Symbol?)


27
28
29
# File '.ruby-sass/lib/sass/stack.rb', line 27

def type
  @type
end

Instance Method Details

#is_base?Boolean

Whether this is the base frame.

Returns:

  • (Boolean)


59
60
61
# File '.ruby-sass/lib/sass/stack.rb', line 59

def is_base?
  type == :base
end

#is_import?Boolean

Whether this frame represents an import.

Returns:

  • (Boolean)


45
46
47
# File '.ruby-sass/lib/sass/stack.rb', line 45

def is_import?
  type == :import
end

#is_mixin?Boolean

Whether this frame represents a mixin.

Returns:

  • (Boolean)


52
53
54
# File '.ruby-sass/lib/sass/stack.rb', line 52

def is_mixin?
  type == :mixin
end