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)
Class Method Summary collapse
-
.generate(folder) ⇒ Object
Command to generate the folder skeleton.
-
.method_missing(name, *args) ⇒ Object
Handle unavailable methods.
-
.run(target) ⇒ Object
Method to run the rack Application.
-
.version ⇒ String
Display Version.
Class Method Details
.generate(folder) ⇒ Object
Command to generate the folder skeleton
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
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
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 |
.version ⇒ String
Display 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 |