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