lib/belajar/generator.rb in belajar-0.1.1 vs lib/belajar/generator.rb in belajar-1.0.0

- old
+ new

@@ -1,35 +1,35 @@ -module Belajar - require 'fileutils' - require 'active_support' - require 'active_support/core_ext' +require 'fileutils' +module Belajar class Generator + LEADING_NUMBERS = /^\d+[\_\-\s]/ + PART_JOINTS = /[\_\-\s]+/ def scaffold(courses_path, target_path) - Dir[File.join(courses_path, "*/*/*/*.md")].each do |file| + Dir[File.join(courses_path, '*/*/*/*.md')].each do |file| content_dir_parts = file.split('/')[-4..-2].map do |part| clean_up_path_part(part) end content_dir = File.join(content_dir_parts) - directory = File.join(target_path, File.dirname(content_dir)) + directory = File.join(target_path, File.dirname(content_dir)) solution_file = File.basename(content_dir) + Solution::FILE_SUFFIX - file_path = File.join(directory, solution_file) + file_path = File.join(directory, solution_file) create_dir(directory) create_file(file_path) end end def prepare begin solutions_path = Belajar.config.solutions_path - rescue ConfigurationError => e - base_dir = File.dirname(Belajar.config.courses_path) - solutions_dir = Belajar::Configuration::SOLUTIONS_DIR + rescue ConfigurationError + base_dir = File.dirname(Belajar.config.courses_path) + solutions_dir = Belajar::Configuration::SOLUTIONS_DIR solutions_path = File.join(base_dir, solutions_dir) end create_dir(Belajar.config.courses_path) create_dir(solutions_path) @@ -39,22 +39,20 @@ end private def create_dir(path) - return if path.blank? + return if path.nil? || path.empty? FileUtils.makedirs(path) unless Dir.exist?(path) end def create_file(path) - return if path.blank? + return if path.nil? || path.empty? create_dir(File.dirname(path)) FileUtils.touch(path) unless File.exist?(path) end def clean_up_path_part(text) - leading_numbers = /^\d+[\_\-\s]/ - part_joints = /[\_\-\s]+/ - text.gsub(leading_numbers, '').gsub(part_joints, '_').downcase + text.gsub(LEADING_NUMBERS, '').gsub(PART_JOINTS, '_').downcase end end end