36 lines
772 B
Ruby
36 lines
772 B
Ruby
# frozen_string_literal: true
|
|
|
|
module ToSassVariable
|
|
# Convierte un valor de Ruby en una variable de SASS
|
|
#
|
|
# @param input [any]
|
|
def to_sass_variable(input)
|
|
case input
|
|
when Array
|
|
"(#{
|
|
input.map do |values|
|
|
to_sass_variable(values)
|
|
end.join(',')
|
|
})"
|
|
when Hash
|
|
"(#{
|
|
input.each_pair.map do |key, values|
|
|
"\"#{key}\": #{to_sass_variable(values)}"
|
|
end.join(',')
|
|
})"
|
|
else input
|
|
end
|
|
end
|
|
|
|
# Define variables globales de SASS a partir de un Hash
|
|
#
|
|
# @param input [Hash]
|
|
def to_sass_global(input)
|
|
input.each_pair.map do |key, values|
|
|
"$#{key}: #{to_sass_variable(values)}"
|
|
end.join(';') << ';'
|
|
end
|
|
end
|
|
|
|
Liquid::Template.register_filter(ToSassVariable)
|