Class: Musako::Renderers::Scss

Inherits:
Musako::Renderer show all
Defined in:
lib/musako/renderers/scss.rb

Instance Method Summary collapse

Methods inherited from Musako::Renderer

#file_extname, #file_name, #file_path, #file_updated_at, #original_file_source

Constructor Details

#initialize(file) ⇒ Scss

Returns a new instance of Scss.



6
7
8
9
# File 'lib/musako/renderers/scss.rb', line 6

def initialize(file)
  super file
  @file_extname = ".css"
end

Instance Method Details

#output_pathObject



25
26
27
# File 'lib/musako/renderers/scss.rb', line 25

def output_path
  File.join(Musako.assets_path, "stylesheets", self.file_name)
end

#renderObject



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/musako/renderers/scss.rb', line 11

def render
  compiled = Sass::Engine.new(self.original_file_source, syntax: :scss)
                         .render
  
  dir = File.dirname(self.output_path)
  unless File.directory? dir
    FileUtils.mkdir_p dir
  end

  File.open(self.output_path, "w") do |file|
    file.write compiled
  end
end