Class: Postwave::PostCreator

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

Constant Summary

Constants included from BlogUtilities

BlogUtilities::CONFIG_FILE_NAME, BlogUtilities::INDEX_FILE_NAME, BlogUtilities::META_DIR, BlogUtilities::POSTS_DIR, BlogUtilities::SUMMARY_FILE_NAME, 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

#createObject



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
# File 'lib/postwave/post_creator.rb', line 13

def create
  output_creating_post

  if !is_set_up?
    output_missing_setup
    return
  end

  now = Time.now
  post_file_name = "#{now.to_i}.md"

  initial_content = <<~CONTENT
  ---
  title: #{(0...8).map { (65 + rand(26)).chr }.join}
  date: #{now.strftime("%F %R")}
  tags:
  ---
  
  Start writing!
  CONTENT


  File.write(File.join(Dir.pwd, POSTS_DIR, post_file_name), initial_content)

  output_post_created(File.join(POSTS_DIR, post_file_name))
end