Sha256: 6350cc8f506e164e77c351fb8b3184260c54646d3d916237a8c980c597379515

Contents?: true

Size: 1 KB

Versions: 4

Compression:

Stored size: 1 KB

Contents

require 'sinatra'
require 'haml'
require 'fileutils'
require 'faker'
require File.dirname(__FILE__) + '/mercury/helpers'
require File.dirname(__FILE__) + '/mercury/images'

# Core Sinatra application to run mercury apps
class Mercury < Sinatra::Application
  helpers Sinatra::MercuryHelpers
  register Sinatra::MercuryImages
  
  set :root,  FileUtils.pwd.gsub("\n",'')
  set :public, File.dirname(__FILE__) + '/public'
  set :views, FileUtils.pwd.gsub("\n",'') + '/wwwroot'
  
  get '/*' do
    view_file_request = params["splat"][0]  
    haml view_file_request.empty? ? view_file = get_view('index.haml') : view_file_request.to_sym, :layout => get_view('layout.haml')
  end

  
private  
    
  def get_view(filename)
    full_file = File.join(options.views, filename)
    if File.exists?(full_file)
      view_file = full_file 
    else
      view_directory = File.join(File.dirname(__FILE__),'views')
      view_file = File.join(view_directory,filename)
    end
    open(view_file,'r') { |file| file.read }
  end  
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mercury-0.9.8 lib/mercury.rb
mercury-0.9.7 lib/mercury.rb
mercury-0.9.6 lib/mercury.rb
mercury-0.9.5 lib/mercury.rb