Module: Sass::Files
Overview
This module contains various bits of functionality related to finding and caching Sass files.
Instance Method Summary collapse
Instance Method Details
#find_file_to_import(filename, load_paths) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/sass/files.rb', line 38 def find_file_to_import(filename, load_paths) was_sass = false original_filename = filename if filename[-5..-1] == ".sass" filename = filename[0...-5] was_sass = true elsif filename[-4..-1] == ".css" return filename end new_filename = find_full_path("#{filename}.sass", load_paths) return new_filename if new_filename return filename + '.css' unless was_sass raise SyntaxError.new("File to import not found or unreadable: #{original_filename}.", @line) end |
#tree_for(filename, options) ⇒ Object
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 |
# File 'lib/sass/files.rb', line 10 def tree_for(filename, ) = Sass::Engine::DEFAULT_OPTIONS.merge() text = File.read(filename) if [:cache] compiled_filename = sassc_filename(filename, ) sha = Digest::SHA1.hexdigest(text) if root = try_to_read_sassc(filename, compiled_filename, sha) root. = .merge(:filename => filename) return root end end engine = Sass::Engine.new(text, .merge(:filename => filename)) begin root = engine.to_tree rescue Sass::SyntaxError => err err.add_backtrace_entry(filename) raise err end try_to_write_sassc(root, compiled_filename, sha, ) if [:cache] root end |