Class: Moft::Commands::New
- Inherits:
-
Moft::Command
- Object
- Moft::Command
- Moft::Commands::New
- Defined in:
- lib/moft/commands/new.rb
Class Method Summary collapse
-
.initialized_post_name ⇒ Object
Internal: Gets the filename of the sample post to be created.
- .process(args) ⇒ Object
- .scaffold_post_content(template_site) ⇒ Object
Methods inherited from Moft::Command
Class Method Details
.initialized_post_name ⇒ Object
Internal: Gets the filename of the sample post to be created
Returns the filename of the sample post, as a String
31 32 33 |
# File 'lib/moft/commands/new.rb', line 31 def self.initialized_post_name "_posts/#{Time.now.strftime('%Y-%m-%d')}-welcome-to-moft.markdown" end |
.process(args) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/moft/commands/new.rb', line 6 def self.process(args) raise ArgumentError.new('You must specify a path.') if args.empty? new_blog_path = File.(args.join(" "), Dir.pwd) FileUtils.mkdir_p new_blog_path unless Dir["#{new_blog_path}/**/*"].empty? Moft::Logger.error "Conflict:", "#{new_blog_path} exists and is not empty." exit(1) end create_sample_files new_blog_path File.open(File.(self.initialized_post_name, new_blog_path), "w") do |f| f.write(self.scaffold_post_content(site_template)) end puts "New moft site installed in #{new_blog_path}." end |
.scaffold_post_content(template_site) ⇒ Object
24 25 26 |
# File 'lib/moft/commands/new.rb', line 24 def self.scaffold_post_content(template_site) ERB.new(File.read(File.(scaffold_path, site_template))).result end |