Sha256: 866e37b5851f7e088d0beb99075e29f4b9e3959d7912e96d48252b2d5ab35e5b

Contents?: true

Size: 1.09 KB

Versions: 25

Compression:

Stored size: 1.09 KB

Contents

module Sass::Script
  class Interpolation < Node
    def initialize(before, mid, after, wb, wa)
      @before = before
      @mid = mid
      @after = after
      @whitespace_before = wb
      @whitespace_after = wa
    end

    def inspect
      "(interpolation #{@before.inspect} #{@mid.inspect} #{@after.inspect})"
    end

    def to_sass(opts = {})
      res = ""
      res << @before.to_sass(opts) if @before
      res << ' ' if @before && @whitespace_before
      res << '#{' << @mid.to_sass(opts) << '}'
      res << ' ' if @after && @whitespace_after
      res << @after.to_sass(opts) if @after
      res
    end

    def children
      [@before, @mid, @after].compact
    end

    protected

    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
      Sass::Script::String.new(res)
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
haml-edge-2.3.209 lib/sass/script/interpolation.rb
haml-3.0.0.beta.3 lib/sass/script/interpolation.rb
haml-edge-2.3.208 lib/sass/script/interpolation.rb
haml-edge-2.3.207 lib/sass/script/interpolation.rb
haml-edge-2.3.206 lib/sass/script/interpolation.rb
haml-edge-2.3.205 lib/sass/script/interpolation.rb
haml-edge-2.3.204 lib/sass/script/interpolation.rb
haml-3.0.0.beta.2 lib/sass/script/interpolation.rb
haml-edge-2.3.203 lib/sass/script/interpolation.rb
haml-edge-2.3.202 lib/sass/script/interpolation.rb
haml-edge-2.3.201 lib/sass/script/interpolation.rb
haml-edge-2.3.200 lib/sass/script/interpolation.rb
haml-edge-2.3.199 lib/sass/script/interpolation.rb
haml-edge-2.3.198 lib/sass/script/interpolation.rb
haml-edge-2.3.197 lib/sass/script/interpolation.rb
haml-edge-2.3.196 lib/sass/script/interpolation.rb
haml-edge-2.3.195 lib/sass/script/interpolation.rb
haml-edge-2.3.194 lib/sass/script/interpolation.rb
haml-edge-2.3.193 lib/sass/script/interpolation.rb
haml-edge-2.3.192 lib/sass/script/interpolation.rb