Sha256: bcd7801eb77806a149ed7f9b70adfbf34be7e18b77849b85a04578be0f86b3ef
Contents?: true
Size: 1.72 KB
Versions: 1
Compression:
Stored size: 1.72 KB
Contents
require 'sinatra/base' module Sinatra module DarkHelpers module HelperMethods def view(view, options = {}) html = haml(view,options) flash.clear html end def partial(page, options = {}) # Can't make this use view() because of the flash.clear haml(page, options.merge!(:layout => false)) end def css_link_tag(sheet, media = 'screen,projection') partial("%link{ :type => 'text/css', :href => '#{options.slash ? '/' : ''}stylesheets/#{sheet}.css', :rel => 'stylesheet', :media => '#{media}' }") end def js_script_tag(script) partial("%script{ :type => 'text/javascript', :src => '#{options.slash ? '/' : ''}javascripts/#{script}.js' }") end def js_tag(script) @dsh_script = script temp = ["%script{ :type => 'text/javascript' }", " //<![CDATA[", " = @dsh_script", " //]]>"].join("\n") partial(temp) end def flash session[:flash] = {} if session[:flash] && session[:flash].class != Hash session[:flash] ||= {} end def host port = request.env['SERVER_PORT'].to_i port = port == 80 ? "" : ":#{port}" "#{protocol}://#{server_name}#{port}" end def protocol request.env['rack.url_scheme'] end def server_name request.env['SERVER_NAME'] end def set_title(extra) @title = "#{options.site_name} - #{extra}" end def base "#{host}#{options.site_base}" end end def self.registered(app) app.helpers HelperMethods app.disable(:slash) app.enable(:sessions) end end register DarkHelpers end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
darkhelmet-darkext-0.8.5 | lib/darkext/sinatra.rb |