Sha256: ea3d09adb3eccb46817a494a87a33e384a65d183607bfe7ef73db888d131a777

Contents?: true

Size: 990 Bytes

Versions: 2

Compression:

Stored size: 990 Bytes

Contents

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
compass-sourcemaps-0.12.3.sourcemaps.a4836f1 lib/compass/installers/template_context.rb
compass-sourcemaps-0.12.2.sourcemaps.57a186c lib/compass/installers/template_context.rb