class TokyoMetro::Rake::Assets::Sass::Make::Partial

Public Class Methods

process() click to toggle source
# File lib/tokyo_metro/rake/assets/sass/make.rb, line 9
def self.process
  set_instance_variables

  puts erb_files

  erb_files.each do | filepath |
    process_each_file( filepath )
  end
end

Private Class Methods

erb_files() click to toggle source
# File lib/tokyo_metro/rake/assets/sass/make.rb, line 28
def erb_files
  ::Dir.glob( "#{ @erb_dir }/**/**.scss.erb" )
end
process_each_file( filepath ) click to toggle source
# File lib/tokyo_metro/rake/assets/sass/make.rb, line 32
def process_each_file( filepath )
  scss_filepath = filepath.gsub( @erb_dir , @style_sheet_dir ).gsub( /\.erb\Z/ , "" )
  erb = ::ERB.new( ::File.open( filepath , "r:utf-8" ).read )
  erb.filename = filepath

  scss_content = erb.result.gsub( /^ +$/ , "" ).gsub( /\n+/ , "\n" ).gsub( /\A\n+/ , "" )

  ::FileUtils.mkdir_p( ::File.dirname( scss_filepath ) )
  ::File.open( scss_filepath , "w:utf-8" ) do |f|
    f.print( scss_content )
  end
end
set_instance_variables() click to toggle source
# File lib/tokyo_metro/rake/assets/sass/make.rb, line 23
def set_instance_variables
  @erb_dir = "#{ ::TokyoMetro::RAILS_DIR }/app/assets/sass-partial-erbs"
  @style_sheet_dir = "#{ ::TokyoMetro::RAILS_DIR }/app/assets/stylesheets"
end