Class: Postwave::BlogCreator

Inherits:
Object
  • Object
show all
Includes:
BlogUtilities, DisplayHelper, Singleton
Defined in:
lib/postwave/blog_creator.rb

Constant Summary

Constants included from BlogUtilities

Postwave::BlogUtilities::CONFIG_FILE_NAME, Postwave::BlogUtilities::INDEX_FILE_NAME, Postwave::BlogUtilities::META_DIR, Postwave::BlogUtilities::POSTS_DIR, Postwave::BlogUtilities::SUMMARY_FILE_NAME, Postwave::BlogUtilities::TAGS_DIR

Instance Method Summary collapse

Methods included from DisplayHelper

#output_blog_created, #output_build_completed, #output_building, #output_creating_blog, #output_creating_post, #output_drafts_skipped, #output_exising_setup, #output_general_error, #output_missing_setup, #output_post_created, #output_post_processed, #output_tags_created

Methods included from BlogUtilities

#directory_paths, #file_paths, #find_missing_paths, #is_set_up?

Instance Method Details

#build_directoriesObject



28
29
30
31
32
# File 'lib/postwave/blog_creator.rb', line 28

def build_directories
  directory_paths.each do |path|
    FileUtils.mkdir_p(path)
  end
end

#build_filesObject



34
35
36
37
38
# File 'lib/postwave/blog_creator.rb', line 34

def build_files
  file_paths.each do |path|
    FileUtils.touch(path)
  end
end

#createObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/postwave/blog_creator.rb', line 13

def create
  output_creating_blog

  if is_set_up?
    output_exising_setup
    return
  end

  build_directories
  build_files
  write_initial_summary_contents

  output_blog_created 
end

#write_initial_summary_contentsObject



40
41
42
43
44
45
46
47
# File 'lib/postwave/blog_creator.rb', line 40

def write_initial_summary_contents
  summary = {
    post_count: 0,
    tags: []
  }

  File.write(File.join(Dir.pwd, POSTS_DIR, META_DIR, SUMMARY_FILE_NAME), summary.to_yaml)
end