Sha256: ac91bddf7e4c108980b1aa52bdb9400e0699d65780d4405fa5f54da6a6fc58ba
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
require 'orange/middleware/base' module Orange::Middleware # This will load information about the site to into the orange env # - packet['site'] will be an instance of the site object # class SiteLoad < Base def init(*args) orange.load Orange::SiteResource.new, :orange_sites end def packet_call(packet) url = packet['route.site_url'] site = Orange::Site.first(:url.like => url) if site packet['site'] = site elsif nil else s = Orange::Site.new({:url => packet['route.site_url'], :name => 'An Orange Site'}) s.save packet['site'] = s end pass packet end end end module Orange class Site < Carton id admin do title :name text :url end end class SiteResource < ModelResource use Orange::Site def afterLoad orange[:admin, true].add_link('Settings', :resource => @my_orange_name, :text => 'Site') end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
orange-0.0.4 | lib/orange/middleware/site_load.rb |