Module: Compass::Configuration::Adapters
- Included in:
- Data
- Defined in:
- lib/compass/configuration/adapters.rb
Overview
The adapters module provides methods that make configuration data from a compass project adapt to various consumers of configuration data
Instance Method Summary collapse
- #absolute_path?(path) ⇒ Boolean
- #resolve_additional_import_paths ⇒ Object
- #sass_3_4? ⇒ Boolean
- #sass_load_paths ⇒ Object
- #to_compiler_arguments(additional_options = {}) ⇒ Object
- #to_sass_engine_options ⇒ Object
- #to_sass_plugin_options ⇒ Object
Instance Method Details
#absolute_path?(path) ⇒ Boolean
57 58 59 60 |
# File 'lib/compass/configuration/adapters.rb', line 57 def absolute_path?(path) # Pretty basic implementation path.index(File::SEPARATOR) == 0 || path.index(':') == 1 end |
#resolve_additional_import_paths ⇒ Object
47 48 49 50 51 52 53 54 55 |
# File 'lib/compass/configuration/adapters.rb', line 47 def resolve_additional_import_paths (additional_import_paths || []).map do |path| if path.is_a?(String) && project_path && !absolute_path?(path) File.join(project_path, path) else path end end end |
#sass_3_4? ⇒ Boolean
101 102 103 |
# File 'lib/compass/configuration/adapters.rb', line 101 def sass_3_4? Sass.version[:major] == 3 && Sass.version[:minor] == 4 end |
#sass_load_paths ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/compass/configuration/adapters.rb', line 80 def sass_load_paths load_paths = [] load_paths << sass_path if sass_path && File.directory?(sass_path) Compass::Frameworks::ALL.each do |f| load_paths << f.stylesheets_directory if File.directory?(f.stylesheets_directory) end importer = [:filesystem_importer] if && [:filesystem_importer] importer ||= Sass::Importers::Filesystem load_paths += resolve_additional_import_paths load_paths.map! do |p| next p if p.respond_to?(:find_relative) importer.new(p.to_s) end # TODO: When sprites are extracted to their own plugin, this # TODO: will need to be extracted to there. if defined?(Compass::SpriteImporter.new) load_paths << Compass::SpriteImporter.new end load_paths end |
#to_compiler_arguments(additional_options = {}) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/compass/configuration/adapters.rb', line 6 def to_compiler_arguments( = {}) engine_opts = .merge() # we have to pass the quiet option in the nested :sass hash to disambiguate it from the compass compiler's own quiet option. if engine_opts.has_key?(:quiet) engine_opts[:sass] ||= {} engine_opts[:sass][:quiet] = engine_opts.delete(:quiet) end [project_path, sass_path, css_path, engine_opts] end |
#to_sass_engine_options ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/compass/configuration/adapters.rb', line 62 def engine_opts = {:load_paths => sass_load_paths} engine_opts[:style] = output_style if output_style engine_opts[:line_comments] = line_comments if sass_3_4? engine_opts[:sourcemap] = sourcemap ? :auto : :none else engine_opts[:sourcemap] = sourcemap end engine_opts[:cache] = cache engine_opts[:cache_location] = cache_path engine_opts[:quiet] = disable_warnings if disable_warnings engine_opts[:compass] = {} engine_opts[:compass][:environment] = environment engine_opts[:full_exception] = (environment == :development) engine_opts.merge!( || {}) end |
#to_sass_plugin_options ⇒ Object
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 45 |
# File 'lib/compass/configuration/adapters.rb', line 16 def locations = [] locations << [sass_path, css_path] if sass_path && css_path Compass::Frameworks::ALL.each do |framework| locations << [framework.stylesheets_directory, File.join(css_path || css_dir || ".", framework.name)] end plugin_opts = {:template_location => locations} plugin_opts[:style] = output_style if output_style plugin_opts[:line_comments] = line_comments if sass_3_4? plugin_opts[:sourcemap] = sourcemap ? :auto : :none else plugin_opts[:sourcemap] = sourcemap end plugin_opts[:cache] = cache unless cache.nil? plugin_opts[:cache_location] = cache_path unless cache_path.nil? plugin_opts[:quiet] = disable_warnings if disable_warnings plugin_opts[:compass] = {} plugin_opts[:compass][:environment] = environment plugin_opts.merge!( || {}) plugin_opts[:load_paths] ||= [] plugin_opts[:load_paths] += resolve_additional_import_paths # TODO: When sprites are extracted to their own plugin, this # TODO: will need to be extracted to there. if defined?(Compass::SpriteImporter.new) plugin_opts[:load_paths] << Compass::SpriteImporter.new end plugin_opts[:full_exception] = (environment == :development) plugin_opts end |