Module: Rack::Blogengine::CommandLineInterface

Defined in:
lib/rack/blogengine/command_line_interface.rb

Overview

This Module handles all cli input (running the app, generate folder skeleton)

Author:

  • benny

Class Method Summary collapse

Class Method Details

.generate(folder) ⇒ Object

Command to generate the folder skeleton

Parameters:

  • folder (String)


45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/rack/blogengine/command_line_interface.rb', line 45

def self.generate(folder)
  puts "\tGenerating folder skeleton\n"
  system("mkdir #{folder}")
  system("mkdir #{folder}/assets")
  system("mkdir #{folder}/assets/layout")
  system("mkdir #{folder}/assets/js")
  system("mkdir #{folder}/assets/style")
  system("mkdir #{folder}/assets/images")
  system("mkdir #{folder}/operator")

  puts "\n\tSetting up essential Files\n"
  setup('operator.rb', "#{folder}/operator", true)
  setup('config.yml', "#{folder}", true)
  setup('index.content', "#{folder}", true)
  setup('layout.html', "#{folder}/assets/layout", true)
  setup('style.css', "#{folder}/assets/style", false)
  setup('script.js', "#{folder}/assets/js", false)
  setup('Gemfile', "#{folder}", true)

  puts "\n\tSetup finished! Have Fun\n"
  puts "\tTo test it type rack-blogengine run #{folder}"
end

.method_missing(name, *args) ⇒ Object

Handle unavailable methods

Parameters:

  • name (String)
    called Methodname
  • *args (Array)
    Available args


15
16
17
18
19
20
21
22
# File 'lib/rack/blogengine/command_line_interface.rb', line 15

def self.method_missing(name, *args)
  puts "Command #{name} not available"
  print "Available Commands are: \n\n"

  print "\t generate -- Generates a blog folder with a basic blog skeleton\n"
  print "\t run -- Runs the given rack app\n"
  print "\n"
end

.run(target) ⇒ Object

Method to run the rack Application

Parameters:

  • target (String)


26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rack/blogengine/command_line_interface.rb', line 26

def self.run(target)
  if target.empty?
    print 'Specify a targetfolder!'
  else
    if Dir.exist?("#{target}")
      config = get_config(target)
      generate_highlight_css(target)

      app = build_rack_app(target, config)

      Rack::Server.start(app: app, Port: config['Port'], server: config['Server'])
    else
      print "#{target} is not a folder!\n"
    end
  end
end

.versionString

Display Version

Returns:

  • (String)

    VERSION



70
71
72
# File 'lib/rack/blogengine/command_line_interface.rb', line 70

def self.version
  puts "\n\tVERSION: #{Rack::Blogengine::VERSION}\n"
end