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