Sha256: 7acacc0c7cbac2affca1e33d5583b659468c50f8038ba0af49f60423e591c09a
Contents?: true
Size: 1.67 KB
Versions: 15
Compression:
Stored size: 1.67 KB
Contents
require 'sinatra/content_for' require 'coffee-filter' require 'rack/jsonr' require 'bugsnag' #################################################################################### class FanforceApp::Sinatra < Sinatra::Base require_relative 'config/_error_handling' require_relative 'config/helpers/assets' require_relative 'config/helpers/json' require_relative 'config/helpers/fanforce' use Rack::JSONR, :method_override => :all use Bugsnag::Rack helpers Sinatra::AssetHelpers helpers Sinatra::JSONHelpers helpers Sinatra::FanforceHelpers helpers Sinatra::ContentFor def self.any(url,&block) get(url,&block) post(url,&block) put(url,&block) delete(url,&block) end def page(page, options={}) current_dir = File.expand_path('../', __FILE__) if !File.exists?("#{settings.views}/#{page}.haml") rel_path = Pathname.new(current_dir).relative_path_from(Pathname.new(settings.views)) page = :"#{rel_path}/views/#{page}" end if options[:layout] and FanforceApp.config.respond_to?(:"layout_for_#{page}") and FanforceApp.config.method(:"layout_for_#{page}").call if File.exists?("#{settings.views}/../layouts/#{options[:layout]}.haml") options[:layout] = :"../layouts/#{options[:layout]}" else rel_path = Pathname.new(current_dir).relative_path_from(Pathname.new(settings.views)) options[:layout] = :"#{rel_path}/layouts/#{options[:layout]}" end else options[:layout] = false end haml page, options end configure do FanforceApp.load_config set :haml, {:escape_attrs => false} set :static, true set :protection, :except => [:frame_options, :json_csrf] end end
Version data entries
15 entries across 15 versions & 1 rubygems