Sha256: 36b90b9184b656554105eea1e158360bb8c2a5490c2c6a8c93f38ffe0253abf1
Contents?: true
Size: 1.85 KB
Versions: 2
Compression:
Stored size: 1.85 KB
Contents
module Compass module Installers class ManifestInstaller < Base attr_accessor :manifest def initialize(template_path, target_path, options = {}) super @manifest = Manifest.new(manifest_file, options) if template_path end def manifest_file @manifest_file ||= File.join(template_path, "manifest.rb") end # Initializes the project to work with compass def init dirs = manifest.map do |entry| unless entry.type == :directory loc = send("install_location_for_#{entry.type}", entry.to, entry.options) File.dirname(loc) end end.compact if manifest.has_stylesheet? dirs << sass_dir dirs << css_dir end dirs.uniq.sort.each do |dir| directory targetize(dir) end end # The default install method. Calls install_<type> methods in the order specified by the manifest. def install manifest.each do |entry| send("install_#{entry.type}", entry.from, entry.to, entry.options) end end def stylesheet_links html = "<head>\n" manifest.each_stylesheet do |stylesheet| # Skip partials. next if File.basename(stylesheet.from)[0..0] == "_" media = if stylesheet.options[:media] %Q{ media="#{stylesheet.options[:media]}"} end ss_line = %Q{ <link href="#{http_stylesheets_path}/#{stylesheet.to.sub(/\.s[ac]ss$/,'.css')}"#{media} rel="stylesheet" type="text/css" />} if stylesheet.options[:condition] ss_line = " <!--[if #{stylesheet.options[:condition]}]>\n #{ss_line}\n <![endif]-->" end html << ss_line + "\n" end html << "</head>" 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/manifest_installer.rb |
compass-sourcemaps-0.12.2.sourcemaps.57a186c | lib/compass/installers/manifest_installer.rb |