Sha256: 9e39583ec52c8efbb077ae5576b0f1e04b12019a827702d8ca4385d3a5ade962

Contents?: true

Size: 1.64 KB

Versions: 6

Compression:

Stored size: 1.64 KB

Contents

require 'pry'

module CourseGen
  class Templates < Thor::Group
    include Thor::Actions

    def generate_all
      copy_template_dir("layouts", "layouts")
      copy_template_dir("content/bootstrap", "content/bootstrap")
      copy_template_dir("content/content", "content/content")
      delete_target_file("lib/default.rb")
      copy_template_dir("lib", "lib")
      delete_target_file("Rules")
      copy_template_file("Rules", "Rules")
      copy_template_file("Guardfile", "Guardfile")
      copy_template_file(".gitignore", ".gitignore")
      copy_template_file("cg_config.rb", "cg_config.rb")
      copy_template_file("cg_config.rb_sample", "cg_config.rb_sample")
      delete_target_file("content/stylesheet.css")
      delete_target_file("content/index.html")
      delete_target_file("layouts/default.html")
      create_empty_dir("content/images")
    end

    def valid_cg_directory?
      valid = true
      list = ["Rules", "nanoc.yaml", "content", "lib"]
      list.each do |filename|
        if !File.exists?(filename)
          valid = false
          say("Required file not found: #{filename}")
        end
      end
      valid
    end

    def self.source_root
      Pathname.new(File.dirname(__FILE__)).parent.parent.to_s
    end

# invoke methods from Thor::Actions
    def initialize
      super
      destination_root = Dir.getwd
    end

    def create_empty_dir to
      empty_directory(to)
    end

    def copy_template_dir from, to
      directory("templates/#{from}", "#{to}")
    end

    def copy_template_file from, to
      template("templates/#{from}", "#{to}")
    end

    def delete_target_file(to)
      remove_file(to)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
coursegen-0.8.3 lib/coursegen/templates.rb
coursegen-0.8.2 lib/coursegen/templates.rb
coursegen-0.8.1 lib/coursegen/templates.rb
coursegen-0.7.7 lib/coursegen/templates.rb
coursegen-0.7.6 lib/coursegen/templates.rb
coursegen-0.7.5 lib/coursegen/templates.rb