Class: Ligarb::Initializer
- Inherits:
-
Object
- Object
- Ligarb::Initializer
- Defined in:
- lib/ligarb/initializer.rb
Instance Method Summary collapse
-
#initialize(directory = nil) ⇒ Initializer
constructor
A new instance of Initializer.
- #run ⇒ Object
Constructor Details
#initialize(directory = nil) ⇒ Initializer
Returns a new instance of Initializer.
8 9 10 |
# File 'lib/ligarb/initializer.rb', line 8 def initialize(directory = nil) @directory = directory || "." end |
Instance Method Details
#run ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/ligarb/initializer.rb', line 12 def run target = File.(@directory) book_yml = File.join(target, "book.yml") if File.exist?(book_yml) $stderr.puts "Error: book.yml already exists in #{target}" exit 1 end FileUtils.mkdir_p(target) FileUtils.mkdir_p(File.join(target, "images")) title = dir_to_title(File.basename(File.(target))) existing_md = collect_markdown_files(target) if existing_md.any? chapter_paths = existing_md else chapter_paths = ["01-introduction.md"] File.write(File.join(target, "01-introduction.md"), generate_chapter) end File.write(book_yml, generate_book_yml(title, chapter_paths)) File.write(File.join(target, "images", ".gitkeep"), "") init_git(target) print_success(target, chapter_paths) end |