class Sass::Tree::PropNode

def to_s(tabs, parent_name = nil)

Raises:
  • (Sass::SyntaxError) - if the property uses invalid syntax

Returns:
  • (String) - The resulting CSS

Parameters:
  • parent_name (String) -- The name of the parent property (e.g. `text`) or nil
  • tabs (Fixnum) -- The level of indentation for the CSS
def to_s(tabs, parent_name = nil)
  if @options[:property_syntax] == :old && @prop_syntax == :new
    raise Sass::SyntaxError.new("Illegal property syntax: can't use new syntax when :property_syntax => :old is set.", @line)
  elsif @options[:property_syntax] == :new && @prop_syntax == :old
    raise Sass::SyntaxError.new("Illegal property syntax: can't use old syntax when :property_syntax => :new is set.", @line)
  end
  if value[-1] == ?;
    raise Sass::SyntaxError.new("Invalid property: #{declaration.dump} (no \";\" required at end-of-line).", @line)
  end
  real_name = name
  real_name = "#{parent_name}-#{real_name}" if parent_name
  
  if value.empty? && children.empty?
    message = "Invalid property: #{declaration.dump} (no value)." +
      pseudo_class_selector_message
    raise Sass::SyntaxError.new(message, @line)
  end
  
  join_string = case style
                when :compact; ' '
                when :compressed; ''
                else "\n"
                end
  spaces = '  ' * (tabs - 1)
  to_return = ''
  if !value.empty?
    to_return << "#{spaces}#{real_name}:#{style == :compressed ? '' : ' '}#{value};#{join_string}"
  end
  
  children.each do |kid|
    next if kid.invisible?
    to_return << kid.to_s(tabs, real_name) << join_string
  end
  
  (style == :compressed && parent_name) ? to_return : to_return[0...-1]
end