module Razor
Constants
- Version
Public Class Methods
create(name)
click to toggle source
# File lib/razor.rb, line 11 def self.create(name) Dir.mkdir name end
generate(options, *args)
click to toggle source
# File lib/razor.rb, line 15 def self.generate(options, *args) if options[:url_base] args << options[:url_base] end @src = args[0] site = Site.new(*args) FileUtils.rm_r(dest) rescue nil site.generate end
http_request(src, url)
click to toggle source
# File lib/razor.rb, line 56 def self.http_request(src, url) url = url[1..-1].sub(/\/+/, '/') site = Site.new(src, '') file = site.http(url) file and file.request end
load(path)
click to toggle source
Calls superclass method
# File lib/razor.rb, line 52 def self.load(path) super File.join(@src, path) end
server(port, src)
click to toggle source
# File lib/razor.rb, line 25 def self.server(port, src) require 'rack' @src = src port = (port and port.to_i or 3300) on_request = lambda do |env| page = http_request src, env['PATH_INFO'] if page [ 200, { 'Content-Type' => Rack::Mime.mime_type(page.dest_ext) }, [ page.contents ] ] else [ 404, { 'Content-Type' => 'text/html' }, [ 'Page Not Found' ] ] end end Rack::Handler::WEBrick.run(on_request, :Port => port) { |server| trap(:INT) { server.stop } trap(:TERM) { server.stop } } end