13 lines
388 B
Ruby
13 lines
388 B
Ruby
|
require 'sass'
|
||
|
|
||
|
module Sass::Script::Functions
|
||
|
COMMA_SEPARATOR = /\s*,\s*/
|
||
|
def nest(*arguments)
|
||
|
nested = arguments.map{|a| a.value}.inject do |memo,arg|
|
||
|
ancestors = memo.split(COMMA_SEPARATOR)
|
||
|
descendants = arg.split(COMMA_SEPARATOR)
|
||
|
ancestors.map{|a| descendants.map{|d| "#{a} #{d}"}.join(", ")}.join(", ")
|
||
|
end
|
||
|
Sass::Script::String.new(nested)
|
||
|
end
|
||
|
end
|