Sha256: dcfb05630aa806578d00112910f4ae83f760ed696338ee7dd6632328ba6b5c7d

Contents?: true

Size: 1.37 KB

Versions: 94

Compression:

Stored size: 1.37 KB

Contents

module Sass::Script
  # A SassScript object representing a variable argument list. This works just
  # like a normal list, but can also contain keyword arguments.
  #
  # The keyword arguments attached to this list are unused except when this is
  # passed as a glob argument to a function or mixin.
  class ArgList < List
    # Whether \{#keywords} has been accessed. If so, we assume that all keywords
    # were valid for the function that created this ArgList.
    #
    # @return [Boolean]
    attr_accessor :keywords_accessed

    # Creates a new argument list.
    #
    # @param value [Array<Literal>] See \{List#value}.
    # @param keywords [Hash<String, Literal>] See \{#keywords}
    # @param separator [String] See \{List#separator}.
    def initialize(value, keywords, separator)
      super(value, separator)
      @keywords = keywords
    end

    # The keyword arguments attached to this list.
    #
    # @return [Hash<String, Literal>]
    def keywords
      @keywords_accessed = true
      @keywords
    end

    # @see Node#children
    def children
      super + @keywords.values
    end

    # @see Node#deep_copy
    def deep_copy
      node = super
      node.instance_variable_set('@keywords',
        Sass::Util.map_hash(@keywords) {|k, v| [k, v.deep_copy]})
      node
    end

    protected

    # @see Node#_perform
    def _perform(environment)
      self
    end
  end
end

Version data entries

94 entries across 89 versions & 11 rubygems

Version Path
ish_lib_manager-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/sass-3.2.19/lib/sass/script/arg_list.rb
solidus_backend-1.0.0.pre vendor/bundle/gems/sass-3.2.19/lib/sass/script/arg_list.rb
active_mailer-0.0.10 test/fixtures/dummyapp_rails_3.2/vendor/bundle/ruby/1.9.1/gems/sass-3.2.5/lib/sass/script/arg_list.rb
xass-0.1.0 lib/sass/script/arg_list.rb
oreorenasass-3.4.14 lib/sass/script/arg_list.rb
oreorenasass-3.4.13 lib/sass/script/arg_list.rb
oreorenasass-3.4.12 lib/sass/script/arg_list.rb
oreorenasass-3.4.11 lib/sass/script/arg_list.rb
oreorenasass-3.4.9 lib/sass/script/arg_list.rb
oreorenasass-3.4.7 lib/sass/script/arg_list.rb
oreorenasass-3.4.5 lib/sass/script/arg_list.rb
sadui-0.0.4 vendor/bundle/ruby/2.1.0/gems/sass-3.2.14/lib/sass/script/arg_list.rb
sadui-0.0.4 vendor/bundle/ruby/2.0.0/gems/sass-3.2.14/lib/sass/script/arg_list.rb
sass-3.2.19 lib/sass/script/arg_list.rb
sass-3.2.18 lib/sass/script/arg_list.rb
sass-3.2.17 lib/sass/script/arg_list.rb
sass-3.2.16 lib/sass/script/arg_list.rb
sass-3.2.15 lib/sass/script/arg_list.rb
sass-3.2.14 lib/sass/script/arg_list.rb
mango-0.8.0 vendor/bundler/ruby/2.1.0/gems/sass-3.2.13/lib/sass/script/arg_list.rb