class SassConvert

Public Class Methods

new(options) click to toggle source
# File lib/sinatra/sassconvert.rb, line 5
def initialize(options)
  @options = options
  @extension = options[:syntax].to_s
  @sass_dir = options[:template_location].to_s
  @css_dir = options[:css_location].to_s
  append_trail
  check_dirs
  Dir.new("#{@sass_dir}/").each do |file|
    if file.include?(".#{@extension}")
      convert(file)
    end
  end
end

Public Instance Methods

append_trail() click to toggle source
# File lib/sinatra/sassconvert.rb, line 27
def append_trail
  @sass_dir += '/' if @sass_dir.split(//).last != '/'
  @css_dir += '/' if @css_dir.split(//).last != '/'
end
check_dirs() click to toggle source
# File lib/sinatra/sassconvert.rb, line 32
def check_dirs
  Dir.mkdir('public') unless File.exists?('public')
  Dir.mkdir(@sass_dir) unless File.exists?(@sass_dir)
  Dir.mkdir(@css_dir) unless File.exists?(@css_dir)
end
convert(file) click to toggle source
# File lib/sinatra/sassconvert.rb, line 19
def convert(file)
  template = File.read("#{@sass_dir}#{file}")
  sass_engine = Sass::Engine.new(template, @options)
  output = sass_engine.render
  file.gsub!(@extension, 'css')
  IO.write("#{@css_dir}#{file}", output)
end