class Jekyll::Compose::FileCreator
Attributes
file[R]
force[R]
root[R]
Public Class Methods
new(file_info, force = false, root = nil)
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 7 def initialize(file_info, force = false, root = nil) @file = file_info @force = force @root = root end
Public Instance Methods
create!()
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 13 def create! return unless create? ensure_directory_exists write_file end
file_path()
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 20 def file_path return file.path if root.nil? || root.empty? File.join(root, file.path) end
Private Instance Methods
create?()
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 28 def create? return true if force return true unless File.exist?(file_path) Jekyll.logger.warn "A #{file.resource_type} already exists at #{file_path}" false end
ensure_directory_exists()
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 36 def ensure_directory_exists dir = File.dirname file_path FileUtils.mkdir_p(dir) unless Dir.exist?(dir) end
write_file()
click to toggle source
# File lib/jekyll-compose/file_creator.rb, line 41 def write_file File.open(file_path, "w") do |f| f.puts(file.content) end Jekyll.logger.info "New #{file.resource_type} created at #{file_path.cyan}" end