Class: CourseGen::Templates
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- CourseGen::Templates
- Includes:
- Thor::Actions
- Defined in:
- lib/coursegen/templates.rb
Overview
Class Templates represent a Coursegen template.
Class Method Summary collapse
Instance Method Summary collapse
- #copy_template_dir(from, to) ⇒ Object
- #copy_template_file(from, to) ⇒ Object
- #create_empty_dir(to) ⇒ Object
- #delete_target_file(to) ⇒ Object
-
#generate_all ⇒ Object
Generate_all generates a Coursegen site using the default template.
-
#initialize ⇒ Templates
constructor
invoke methods from Thor::Actions.
-
#valid_cg_directory? ⇒ Boolean
Valid_cg_directory? checks if the underlying directory is a valid nanoc site.
Constructor Details
#initialize ⇒ Templates
invoke methods from Thor::Actions
49 50 51 52 |
# File 'lib/coursegen/templates.rb', line 49 def initialize super destination_root = Dir.getwd end |
Class Method Details
.source_root ⇒ Object
44 45 46 |
# File 'lib/coursegen/templates.rb', line 44 def self.source_root Pathname.new(File.dirname(__FILE__)).parent.parent.to_s end |
Instance Method Details
#copy_template_dir(from, to) ⇒ Object
58 59 60 |
# File 'lib/coursegen/templates.rb', line 58 def copy_template_dir(from, to) directory("templates/#{from}", to.to_s) end |
#copy_template_file(from, to) ⇒ Object
62 63 64 |
# File 'lib/coursegen/templates.rb', line 62 def copy_template_file(from, to) template("templates/#{from}", to.to_s) end |
#create_empty_dir(to) ⇒ Object
54 55 56 |
# File 'lib/coursegen/templates.rb', line 54 def create_empty_dir(to) empty_directory(to) end |
#delete_target_file(to) ⇒ Object
66 67 68 |
# File 'lib/coursegen/templates.rb', line 66 def delete_target_file(to) remove_file(to) end |
#generate_all ⇒ Object
Generate_all generates a Coursegen site using the default template.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/coursegen/templates.rb', line 11 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('.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 |
#valid_cg_directory? ⇒ Boolean
Valid_cg_directory? checks if the underlying directory is a valid nanoc site.
This method is used by Coursegen::CLI.
32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/coursegen/templates.rb', line 32 def valid_cg_directory? valid = true list = ['Rules', 'nanoc.yaml', 'content', 'lib'] list.each do |filename| unless File.exist?(filename) valid = false say("Required file not found: #{filename}") end end valid end |