Sha256: 8ad9bf568a7dd15b0011e4a5f7079d2aa4899ca80368a32635623d7c0fe86ca1
Contents?: true
Size: 1.31 KB
Versions: 1
Compression:
Stored size: 1.31 KB
Contents
VITREOUS_FOLDER = ENV['VITREOUS_FOLDER'] Mustache.template_path = "#{VITREOUS_FOLDER}/template" Mustache.template_extension = 'html' module Vitreous module Share class LocalStructure def self.base_uri "/local/file" end end end end module Vitreous module Standalone class App < Sinatra::Base # assets get "/assets/*" do |asset| send_file "#{VITREOUS_FOLDER}/template/assets/#{asset}" end # file get "#{Vitreous::Share::LocalStructure.base_uri}/*" do |file| send_file "#{VITREOUS_FOLDER}/website/#{file}" end # element get '/*' do |resource| structure = Vitreous::Share::LocalStructure.new( "/#{VITREOUS_FOLDER}/website" ) indexer = Vitreous::Share::Indexer.new( structure.generate ) index = Vitreous::Share::Element.new( indexer.generate[0] ) element = Vitreous::Share::IndexSearcher.search( index, "/#{resource}" ) raise Sinatra::NotFound if element.nil? Mustache.render( File.read( "#{VITREOUS_FOLDER}/template/layout.html" ), { :domain => 'mydomain.com', :index => index, :element => element, :assets_path => "/assets" } ) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vitreous_standalone-0.0.5 | lib/vitreous/standalone/app.rb |