Class: Sass::Stack::Frame
- Inherits:
-
Object
- Object
- Sass::Stack::Frame
- Defined in:
- .ruby-sass/lib/sass/stack.rb
Overview
A single stack frame.
Instance Attribute Summary (collapse)
-
#filename ⇒ String
readonly
The filename of the file in which this stack frame was created.
-
#line ⇒ String
readonly
The line number on which this stack frame was created.
-
#name ⇒ String?
readonly
The name of the stack frame.
-
#type ⇒ Symbol?
readonly
The type of this stack frame.
Instance Method Summary (collapse)
-
#initialize(filename, line, type, name = nil) ⇒ Frame
constructor
A new instance of Frame.
-
#is_base? ⇒ Boolean
Whether this is the base frame.
-
#is_import? ⇒ Boolean
Whether this frame represents an import.
-
#is_mixin? ⇒ Boolean
Whether this frame represents a mixin.
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
#filename ⇒ String (readonly)
The filename of the file in which this stack frame was created.
11 12 13 |
# File '.ruby-sass/lib/sass/stack.rb', line 11 def filename @filename end |
#line ⇒ String (readonly)
The line number on which this stack frame was created.
16 17 18 |
# File '.ruby-sass/lib/sass/stack.rb', line 16 def line @line end |
#name ⇒ String? (readonly)
The name of the stack frame. For mixin frames, this is the mixin name; otherwise, it's `nil`.
33 34 35 |
# File '.ruby-sass/lib/sass/stack.rb', line 33 def name @name end |
#type ⇒ Symbol? (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.
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.
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.
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.
52 53 54 |
# File '.ruby-sass/lib/sass/stack.rb', line 52 def is_mixin? type == :mixin end |