I\'m trying to extend the Sass:Script::Functions module, per this recommendation: https://gist.github.com/481261/dd07a52829886ab1ad0875a8895f0100c4b925ab. The question is, w
I usually make a folder in lib named "sass" and in that folder create a sass-hex.rb (make sure this folder is on the load path)
module Sass::Script::Functions
module SassHex
def hex(decimal)
Sass::Script::String.new("%02x" % decimal)
end
end
include SassHex
end
All you should have todo is require the sass-hex.rb file I use this trick a lot in compass when extending sass.
I just solved this to be able to use the compact
function from Compass. Here's the whole scoop:
lib/sass.rb (created a new file)
# Compact function pulled from compass
module Sass::Script::Functions
module CustomSassExtensions
def compact(*args)
sep = :comma
if args.size == 1 && args.first.is_a?(Sass::Script::List)
args = args.first.value
sep = args.first.separator
end
Sass::Script::List.new(args.reject{|a| !a.to_bool}, sep)
end
end
include CustomSassExtensions
end
config/application.rb (place this inside inside class Application
right after the lines with config.autoload_paths
)
if config.respond_to?(:sass)
require "#{config.root}/lib/sass.rb"
end
Let me know if it worked for you.