Class: Gryphon::Processors::SassProcessor

Inherits:
Object
  • Object
show all
Includes:
FileWriter
Defined in:
lib/gryphon/processors/sass_processor.rb

Overview

Renders a sass file into a css file

Instance Method Summary collapse

Methods included from FileWriter

#copy_file, #write_file

Instance Method Details

#dest_name(src) ⇒ Pathname

Parameters:

  • src (Pathname)

Returns:

  • (Pathname)


21
# File 'lib/gryphon/processors/sass_processor.rb', line 21

def dest_name(src) = src.sub(CONTENT_DIR, BUILD_DIR).sub_ext('.css')

#file_modified?(src, dest) ⇒ Boolean

Parameters:

  • src (Pathname)
  • des (Pathname)

Returns:

  • (Boolean)


26
27
28
29
30
# File 'lib/gryphon/processors/sass_processor.rb', line 26

def file_modified?(src, dest)
  return true unless dest.exist?

  src.mtime > dest.mtime
end

#process(src, dest) ⇒ Object

Parameters:

  • src (Pathname)
  • dest (Pathname)

Raises:



12
13
14
15
16
17
# File 'lib/gryphon/processors/sass_processor.rb', line 12

def process(src, dest)
  result = Sass.compile(src)
  write_file(dest, result.css)
rescue Sass::CompileError => e
  raise Errors::ParseError, "Failed to process sass style sheet #{src}. Reason: #{e.full_message}"
end