Sha256: c1ea161d66dd61313595c9abd2177918285cebfa18a2bf75f73d58bce2bd177b
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 KB
Contents
require 'rack' #require 'rack/attack' require 'rack/blogengine' module Rack module Blogengine class CommandLineInterface def method_missing(name, *args) puts "Command #{name} not available" print "Available Commands are: \n\n" self.class.instance_methods(false).each do |method| print "\t #{method}\n" unless method == :method_missing end print "\n" end # Method to run the cli command # @param [String] target def run(target) unless target.empty? if target.include?("/") target = target.dup target["/"] = "" end if Dir.exists?("#{target}") system("cd #{target}") $targetfolder = "#{Dir.pwd}/#{target}" app = Rack::Builder.new do use Rack::CommonLogger use Rack::ShowExceptions map "/assets" do run Rack::Directory.new("#{$targetfolder}/assets") end use Rack::Lint run Rack::Blogengine::Application end Rack::Server.start( :app => app, :Port => 3000 ) else puts "Target is not a folder!" end else puts "Specify a targetfolder!" end end # Command to generate the folder skeleton # @param [String] folder def generate(folder) puts "Generating folder skeleton" system("mkdir #{folder} && mkdir #{folder}/assets && mkdir #{folder}/assets/layout && mkdir #{folder}/assets/js && mkdir #{folder}/assets/style && mkdir #{folder}/assets/images") end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-blogengine-0.1.4 | lib/rack/blogengine/command_line_interface.rb |