class Sasskture::GenerateStructure
Attributes
maintext[R]
Public Class Methods
new()
click to toggle source
# File lib/Sasskture.rb, line 8 def initialize @maintext = "" end
Public Instance Methods
createFile(folderName, folderFile)
click to toggle source
Generate files
# File lib/Sasskture.rb, line 60 def createFile(folderName, folderFile) system 'touch', "#{folderName}/_#{folderFile}.scss" end
createFolder(name)
click to toggle source
Generate folder
# File lib/Sasskture.rb, line 54 def createFolder(name) system 'mkdir', '-p', name end
files()
click to toggle source
Structure files
# File lib/Sasskture.rb, line 13 def files return [ { :folder => "helpers", :description => "// Sass utilities", :files => ["variables", "functions", "mixins", "helpers"] }, { :folder => "vendors", :description => "// Vendors and external stylesheets", :files => [] }, { :folder => "base", :description => "// Base stuff", :files => ["reset", "typography"] }, { :folder => "layout", :description => "// Layout related stylesheets", :files => ["grid", "header", "footer"] } ] end
generateData()
click to toggle source
Simple map to read data
# File lib/Sasskture.rb, line 40 def generateData files.each do |folder| createFolder folder[:folder] @maintext += folder[:description] + "\n" folder[:files].each do |file| createFile folder[:folder], file @maintext += "@import '" + folder[:folder] + "/" + file + "';\n" end @maintext += "\n" end end
generateMain()
click to toggle source
Generate main
# File lib/Sasskture.rb, line 66 def generateMain system 'touch', 'app.scss' File.open('app.scss', "wb") { |file| file.write(@maintext) } end