Class: CourseGen::Templates

Inherits:
Thor::Group
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/coursegen/templates.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeTemplates

Returns a new instance of Templates.



37
38
39
40
# File 'lib/coursegen/templates.rb', line 37

def initialize
  super
  destination_root = Dir.getwd
end

Class Method Details

.source_rootObject



33
34
35
# File 'lib/coursegen/templates.rb', line 33

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

Instance Method Details

#copy_template_dir(from, to) ⇒ Object



42
43
44
# File 'lib/coursegen/templates.rb', line 42

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

#copy_template_file(from, to) ⇒ Object



46
47
48
# File 'lib/coursegen/templates.rb', line 46

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

#delete_target_file(to) ⇒ Object



50
51
52
# File 'lib/coursegen/templates.rb', line 50

def delete_target_file(to)
  remove_file(to)
end

#generate_allObject



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/coursegen/templates.rb', line 7

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("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")
end

#valid_cg_directory?Boolean

Returns:

  • (Boolean)


21
22
23
24
25
26
27
28
29
30
31
# File 'lib/coursegen/templates.rb', line 21

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