class Object

Public Instance Methods

add_new(name) click to toggle source
# File bin/_new/_content.rb, line 3
def add_new(name)
    if name.nil? || name.length == 0
        puts "Invalid custom page name." and return
    end

    name = name.split(" ")[0]
    downcasedName = name.downcase
    capitalizedName = name.capitalize
    controllerName = "#{capitalizedName}Controller"

    contentController = <<~CONTENT
        require "\#{$root}/controllers/content"

        puts "\\tController: #{capitalizedName}"

        class #{controllerName} < ContentController
            
            set :content_dir, "\#{$root}/#{downcasedName}"
            set :stylesheet, "content"
            set :public_folder, $assets_root
            set :views, $views

        end
    CONTENT

    initialContent = "# #{capitalizedName}\n\nYour content goes here."

    cwd = Dir.pwd

    controllers = YAML.load_file("#{cwd}/controllerlist.yml")
    controllers.select! { |c| c["file"] != downcasedName }

    controllers << {
        "file" => downcasedName,
        "name" => controllerName,
        "path" => "/#{downcasedName}"
    }

    controllers.sort! { |a, b| a["file"] <=> b["file"] }

    content = YAML.load_file("#{cwd}/contentlist.yml")
    content.select! { |c| c != downcasedName }

    content << downcasedName

    content.sort!

    `echo '#{controllers.to_yaml}' > #{cwd}/controllerlist.yml`
    `echo '#{content.to_yaml}' > #{cwd}/contentlist.yml`
    `mkdir #{cwd}/#{downcasedName}`
    `echo '#{initialContent}' > #{cwd}/#{downcasedName}/#{downcasedName}.md`
    `echo '#{contentController}' > #{cwd}/controllers/#{downcasedName}.rb`
end
dockerExists() click to toggle source
# File bin/docker_utils.rb, line 1
def dockerExists
    versionStdout = `docker -v`

    return versionStdout != nil && versionStdout != ""
end
dockerNameArgIsValid(nameArg) click to toggle source
# File bin/docker_utils.rb, line 7
def dockerNameArgIsValid(nameArg)
    return nameArg != nil && nameArg != "" && nameArg.match(/^\w+$/)
end
dockerVersionArgIsValid(versionArg) click to toggle source
# File bin/docker_utils.rb, line 11
def dockerVersionArgIsValid(versionArg)
    return versionArg != nil &&
        versionArg != "" &&
        versionArg.match(/^[0-9]\.[0-9]\.[0-9]$/)
end
makeDirs(dirs, loc) click to toggle source
# File bin/functions.rb, line 1
def makeDirs(dirs, loc)
    dirs.each { |dir| `mkdir #{loc}/#{dir}` }
end
makeFiles(files, loc) click to toggle source
# File bin/functions.rb, line 5
def makeFiles(files, loc)
    files.each { |k, v| `touch #{loc}/#{k}; echo '#{v}' > #{loc}/#{k}` }
end