Sha256: f8617ef9e33edde2bb76187a0f239a1be4cf407a98c9f7c8847ea5a50301d4e3

Contents?: true

Size: 1.47 KB

Versions: 168

Compression:

Stored size: 1.47 KB

Contents

module Sass
  module Script
    # A SassScript parse node representing a variable.
    class Variable < Node
      # The name of the variable.
      #
      # @return [String]
      attr_reader :name

      # The underscored name of the variable.
      #
      # @return [String]
      attr_reader :underscored_name

      # @param name [String] See \{#name}
      def initialize(name)
        @name = name
        @underscored_name = name.gsub(/-/,"_")
        super()
      end

      # @return [String] A string representation of the variable
      def inspect(opts = {})
        return "!important" if name == "important"
        "$#{dasherize(name, opts)}"
      end
      alias_method :to_sass, :inspect

      # Returns an empty array.
      #
      # @return [Array<Node>] empty
      # @see Node#children
      def children
        []
      end

      # @see Node#deep_copy
      def deep_copy
        dup
      end

      protected

      # Evaluates the variable.
      #
      # @param environment [Sass::Environment] The environment in which to evaluate the SassScript
      # @return [Literal] The SassScript object that is the value of the variable
      # @raise [Sass::SyntaxError] if the variable is undefined
      def _perform(environment)
        raise SyntaxError.new("Undefined variable: \"$#{name}\".") unless val = environment.var(name)
        if val.is_a?(Number)
          val = val.dup
          val.original = nil
        end
        return val
      end
    end
  end
end

Version data entries

168 entries across 75 versions & 6 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.5 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.5 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.4 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.4 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.4 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.3 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.3 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.3 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
torquebox-console-0.3.0 vendor/bundle/jruby/1.9/gems/haml-3.1.8/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.2 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.2 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.2 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.1 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.1 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.1 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.0 vendor/bundle/gems/haml-3.1.4/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.0 vendor/bundle/gems/haml-3.1.5/vendor/sass/lib/sass/script/variable.rb
classiccms-0.7.0 vendor/bundle/gems/haml-3.1.6/vendor/sass/lib/sass/script/variable.rb
torquebox-console-0.2.5 vendor/bundle/jruby/1.9/gems/haml-3.1.8/vendor/sass/lib/sass/script/variable.rb