1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
module Compass
module Installers
class TemplateContext
def self.ctx(*arguments)
new(*arguments).send(:get_binding)
end
def initialize(template, locals = {})
@template = template
@locals = locals
end
def http_stylesheets_path
config.http_stylesheets_path ||
config.default_for(:http_stylesheets_path) ||
config.http_root_relative(config.css_dir)
end
Compass::Configuration::ATTRIBUTES.each do |attribute|
unless instance_methods.include?(attribute.to_s)
define_method attribute do
config.send(attribute) || config.default_for(attribute)
end
end
end
def config
Compass.configuration
end
alias configuration config
protected
def get_binding
@locals.each do |k, v|
eval("#{k} = v")
end
binding
end
end
end
end
|