Class: Sass::Script::Interpolation
- Inherits:
-
Node
- Object
- Node
- Sass::Script::Interpolation
- Defined in:
- /var/www/sass-pages/.sass/lib/sass/script/interpolation.rb
Overview
A SassScript object representing #{} interpolation outside a string.
Instance Method Summary
- - (Sass::Script::String) _perform(environment) protected Evaluates the interpolation.
-
- (Array<Node>) children
Returns the three components of the interpolation,
before,mid, andafter. - - deep_copy
-
- (Interpolation) initialize(before, mid, after, wb, wa, originally_text = false)
constructor
Interpolation in a property is of the form
before #{mid} after. - - (String) inspect A human-readable s-expression representation of the interpolation.
- - to_sass(opts = {})
Methods inherited from Node
Constructor Details
- (Interpolation) initialize(before, mid, after, wb, wa, originally_text = false)
Interpolation in a property is of the form before #{mid} after.
17 18 19 20 21 22 23 24 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 17
def initialize(before, mid, after, wb, wa, originally_text = false)
@before = before
@mid = mid
@after = after
@whitespace_before = wb
@whitespace_after = wa
@originally_text = originally_text
end
|
Instance Method Details
- (Sass::Script::String) _perform(environment) (protected)
Evaluates the interpolation.
68 69 70 71 72 73 74 75 76 77 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 68
def _perform(environment)
res = ""
res << @before.perform(environment).to_s if @before
res << " " if @before && @whitespace_before
val = @mid.perform(environment)
res << (val.is_a?(Sass::Script::String) ? val.value : val.to_s)
res << " " if @after && @whitespace_after
res << @after.perform(environment).to_s if @after
opts(Sass::Script::String.new(res))
end
|
- (Array<Node>) children
Returns the three components of the interpolation, before, mid, and after.
49 50 51 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 49
def children
[@before, @mid, @after].compact
end
|
- deep_copy
54 55 56 57 58 59 60 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 54
def deep_copy
node = dup
node.instance_variable_set('@before', @before.deep_copy) if @before
node.instance_variable_set('@mid', @mid.deep_copy)
node.instance_variable_set('@after', @after.deep_copy) if @after
node
end
|
- (String) inspect
A human-readable s-expression representation of the interpolation
27 28 29 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 27
def inspect
"(interpolation #{@before.inspect} #{@mid.inspect} #{@after.inspect})"
end
|
- to_sass(opts = {})
32 33 34 35 36 37 38 39 40 41 42 |
# File '/var/www/sass-pages/.sass/lib/sass/script/interpolation.rb', line 32
def to_sass(opts = {})
res = ""
res << @before.to_sass(opts) if @before
res << ' ' if @before && @whitespace_before
res << '#{' unless @originally_text
res << @mid.to_sass(opts)
res << '}' unless @originally_text
res << ' ' if @after && @whitespace_after
res << @after.to_sass(opts) if @after
res
end
|