Sha256: 318953eb91f40d134fd21da4f0532bae19823912a86aa1c4986362c87afa0ef2

Contents?: true

Size: 674 Bytes

Versions: 2

Compression:

Stored size: 674 Bytes

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)
      packet['site'] = site if site
      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
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
orange-0.0.3 lib/orange/middleware/site_load.rb
orange-0.0.2 lib/orange/middleware/site_load.rb