class Compass::Configuration::Inheritance::ClassMethods::ArrayProxy

Public Class Methods

new(data, attr) click to toggle source
# File lib/compass/configuration/inheritance.rb, line 65
def initialize(data, attr)
  @data, @attr = data, attr
end

Public Instance Methods

<<(v) click to toggle source
# File lib/compass/configuration/inheritance.rb, line 74
def <<(v)
  @data.send(:"add_to_#{@attr}", v)
end
>>(v) click to toggle source
# File lib/compass/configuration/inheritance.rb, line 77
def >>(v)
  @data.send(:"remove_from_#{@attr}", v)
end
method_missing(m, *args, &block) click to toggle source
Calls superclass method
# File lib/compass/configuration/inheritance.rb, line 102
def method_missing(m, *args, &block)
  a = to_ary
  if a.respond_to?(m)
    a.send(m,*args, &block)
  else
    super
  end
end
serialize_to_config(prop) click to toggle source
# File lib/compass/configuration/inheritance.rb, line 80
def serialize_to_config(prop)
  if v = @data.raw(prop)
    "#{prop} = #{v.inspect}"
  else
    s = ""
    if added = @data.instance_variable_get("@added_to_#{@attr}")
      added.each do |a|
        s << "#{prop} << #{a.inspect}\n"
      end
    end
    if removed = @data.instance_variable_get("@removed_from_#{@attr}")
      removed.each do |r|
        s << "#{prop} >> #{r.inspect}\n"
      end
    end
    if s[-1..-1] == "\n"
      s[0..-2]
    else
      s
    end
  end
end
to_a() click to toggle source
# File lib/compass/configuration/inheritance.rb, line 71
def to_a
  to_ary
end
to_ary() click to toggle source
# File lib/compass/configuration/inheritance.rb, line 68
def to_ary
  @data.send(:"read_inherited_#{@attr}_array")
end