Class: Sass::Stack
- Inherits:
-  Object - Object
- Sass::Stack
 
- Defined in:
- /Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb
Overview
A class representing the stack when compiling a Sass file.
Defined Under Namespace
Classes: Frame
Instance Attribute Summary (collapse)
-   - (Array<Frame>) frames   readonly The stack frames. 
Instance Method Summary (collapse)
-   - (Stack) initialize   constructor A new instance of Stack. 
- - to_s
-   - with_base(filename, line) { ... }  Pushes a base frame onto the stack. 
-   - with_import(filename, line) { ... }  Pushes an import frame onto the stack. 
-   - with_mixin(filename, line, name) { ... }  Pushes a mixin frame onto the stack. 
Constructor Details
- (Stack) initialize
Returns a new instance of Stack
| 69 70 71 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 69
def initialize
  @frames = []
end | 
Instance Attribute Details
- (Array<Frame>) frames (readonly)
The stack frames. The last frame is the most deeply-nested.
| 67 68 69 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 67
def frames
  @frames
end | 
Instance Method Details
- to_s
| 101 102 103 104 105 106 107 108 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 101
def to_s
  Sass::Util.enum_with_index(Sass::Util.enum_cons(frames.reverse + [nil], 2)).
      map do |(frame, caller), i|
    "#{i == 0 ? 'on' : 'from'} line #{frame.line}" +
      " of #{frame.filename || 'an unknown file'}" +
      (caller && caller.name ? ", in `#{caller.name}'" : "")
  end.join("\n")
end | 
- with_base(filename, line) { ... }
Pushes a base frame onto the stack.
| 78 79 80 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 78
def with_base(filename, line)
  with_frame(filename, line, :base) {yield}
end | 
- with_import(filename, line) { ... }
Pushes an import frame onto the stack.
| 87 88 89 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 87
def with_import(filename, line)
  with_frame(filename, line, :import) {yield}
end | 
- with_mixin(filename, line, name) { ... }
Pushes a mixin frame onto the stack.
| 97 98 99 | # File '/Users/ceppstei/Projects/sass-lang/.sass/lib/sass/stack.rb', line 97
def with_mixin(filename, line, name)
  with_frame(filename, line, :mixin, name) {yield}
end |