Class: Neverprint::Commands::New

Inherits:
Object
  • Object
show all
Defined in:
lib/neverprint/commands/new.rb

Class Method Summary collapse

Class Method Details

.process(args, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


4
5
6
7
8
9
10
11
12
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
# File 'lib/neverprint/commands/new.rb', line 4

def self.process(args, options = {})

  raise ArgumentError.new('You must specify a path.') if args.empty?

  new_site_path = File.expand_path(args.join(" "), Dir.pwd)

  puts "\n- Checking if Jekyll site exists in"
  puts "  #{new_site_path}"

  if !provided_path_is_a_jekyll_site?(new_site_path)
    Jekyll.logger.error('Jekyll site', '[ Not present ]')
    if options[:generate]
      puts "\n- Calling Jekyll to generate it for you"
      Jekyll::Commands::New.process(args)
      Jekyll.logger.warn('Jekyll site', '[ Created ]')
      puts "\n"
    else
      Jekyll.logger.warn('', 'Use --generate to have Jekyll generate it')
      Jekyll.logger.warn('', 'Or use Jekyll directly and create it yourself')
      puts "\n"
      exit(1)
    end
  else
    Jekyll.logger.warn('Jekyll site', '[ Present ]')
  end

  puts "\n- Adding Neverprint files to site"

  add_neverprint_files new_site_path

  Jekyll.logger.warn('Neverprint files', '[ Added ]')
  puts "\n"

end