Sha256: 5a6e7d3f11b90d9483912bf2f7d3903ca86e531b63dbb7e3972cd6a04fed81ec
Contents?: true
Size: 1.9 KB
Versions: 2
Compression:
Stored size: 1.9 KB
Contents
require 'rack' #require 'rack/attack' require 'rack/blogengine' require 'yaml' 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}" config = YAML::load(::File.open("#{$targetfolder}/config.yml")) 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 port = config["Port"]; server = config["Server"]; Rack::Server.start( :app => app, :Port => port, :server => server ) 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 def version? puts Rack::Blogengine::VERSION end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rack-blogengine-0.1.6 | lib/rack/blogengine/command_line_interface.rb |
rack-blogengine-0.1.5 | lib/rack/blogengine/command_line_interface.rb |